Auditar pc en Red

26/02/2008 - 20:07 por Javier Torres | Informe spam
Hola..
Estoy intentando hacer una aplicacion que escanea las maquinas de una LAN, y
obtenga algunas caracteristicas de los clientes(hardware instalado,
software,...), El detalle es que bsoy nuevo en c#, alguien podra pasarme un
tip de como hacerlo??? estuve leyendo algo sobre el System.Mamagement, segun
con este recusro puedo obtener algunas de las cosas que requiero

Saludos y Suerte

Preguntas similare

Leer las respuestas

#1 Yoel Mc Lennan
27/02/2008 - 03:21 | Informe spam
Consulta al repecto
Se puede obtene dtos de terminales w98 o w95?
habría que intslar un cliente en esas terminles verdad?
gracias.

"tonymx" escribió en el mensaje
news:
Hola Javier!
Efectivamente ese NameSpace te servirá para realizar esas tareas de
monitoreo a traves del Windows Management Instrumentation (WMI).
Aqui te anexo un ejemplo para recuperar alguna info. sobre una computadora
remota; en este caso tengo provilegios administrativos para acceder a ésta.
La idea sería que todas las PCs que vas a auditar tengan una cuenta
administradora con la cual te conectarias para acceder a los recursos y
obtener la información que necesitas, hay bastante información que puedes
obtener a través de WMI.
Revisa la documentacion del namespace para las opciones de
autentificación;te Anexo un sample de la salida del programa.

Espero te sirva
Saludos!

********************************************************************************************************
//PoweredBy: TonyMX

using System;

using System.Management; //Para acceder al WMI

namespace RemoteControlApp

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Inicia Programa para acceder a recursos de otra
computadora remotamente...");

ConnectionOptions options = new ConnectionOptions();

ManagementScope scope = new
ManagementScope("\\\\192.168.17.58\oot\\cimv2",options);

scope.Connect();

//Ahora obteniendo info acerca del OS

ObjectQuery query = new ObjectQuery("select * from Win32_OperatingSystem");

ManagementObjectSearcher wmiSearcher = new ManagementObjectSearcher(scope,
query);

ManagementObjectCollection queryWMICollection = wmiSearcher.Get();

foreach (ManagementObject m in queryWMICollection)

{

//Mostrar info de la computadora remota

Console.WriteLine("Nombre de la computadora: {0}", m["csname"]);

Console.WriteLine("Directorio de Windows: {0}", m["WindowsDirectory"]);

Console.WriteLine("Sistema Operativo: {0} {1}", m["Caption"], m["Version"]);

Console.WriteLine("Fabricante: {0}", m["Manufacturer"]);

Console.WriteLine("Termina Programa para acceder a recursos de otra
computadora remotamente...");

Console.ReadLine();

}

}

}

}

"Javier Torres" wrote in message
news:
Hola..
Estoy intentando hacer una aplicacion que escanea las maquinas de una LAN,
y
obtenga algunas caracteristicas de los clientes(hardware instalado,
software,...), El detalle es que bsoy nuevo en c#, alguien podra pasarme
un
tip de como hacerlo??? estuve leyendo algo sobre el System.Mamagement,
segun
con este recusro puedo obtener algunas de las cosas que requiero

Saludos y Suerte
Respuesta Responder a este mensaje
#2 Javier Torres
27/02/2008 - 15:30 | Informe spam
Gracias tonymx

He revisado el ejemplo y en mi pc funciona correctamente, en otra pc, me
indica el siguiente error, Servidor RPC no disponible, porque me marcara ese
error???
Respuesta Responder a este mensaje
#3 tonymx
27/02/2008 - 19:36 | Informe spam
Debe ser porque no tienes permisos administrativos en esa terminal
Saludos!

"Javier Torres" wrote in message
news:


Gracias tonymx

He revisado el ejemplo y en mi pc funciona correctamente, en otra pc, me
indica el siguiente error, Servidor RPC no disponible, porque me marcara
ese
error???
Respuesta Responder a este mensaje
#4 tonymx
28/02/2008 - 01:17 | Informe spam
Bueno depende de que datos vas a obtener.
Podria ser mas conveniente que utilices el Windows Script Host (WSH) para
terminales Win98, es menos pesado.
De hecho con simple VBScript puedes crear scripts para obtener datos;
escribir en el registry,crear shortcuts,etc
Debes instalar el WSH en la maquina cleinte, checa en internet la
documentacion.
Saludos!



"Yoel Mc Lennan" wrote in message
news:
Consulta al repecto
Se puede obtene dtos de terminales w98 o w95?
habría que intslar un cliente en esas terminles verdad?
gracias.

"tonymx" escribió en el mensaje
news:
Hola Javier!
Efectivamente ese NameSpace te servirá para realizar esas tareas de
monitoreo a traves del Windows Management Instrumentation (WMI).
Aqui te anexo un ejemplo para recuperar alguna info. sobre una computadora
remota; en este caso tengo provilegios administrativos para acceder a
ésta.
La idea sería que todas las PCs que vas a auditar tengan una cuenta
administradora con la cual te conectarias para acceder a los recursos y
obtener la información que necesitas, hay bastante información que puedes
obtener a través de WMI.
Revisa la documentacion del namespace para las opciones de
autentificación;te Anexo un sample de la salida del programa.

Espero te sirva
Saludos!

********************************************************************************************************
//PoweredBy: TonyMX

using System;

using System.Management; //Para acceder al WMI

namespace RemoteControlApp

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Inicia Programa para acceder a recursos de otra
computadora remotamente...");

ConnectionOptions options = new ConnectionOptions();

ManagementScope scope = new
ManagementScope("\\\\192.168.17.58\oot\\cimv2",options);

scope.Connect();

//Ahora obteniendo info acerca del OS

ObjectQuery query = new ObjectQuery("select * from
Win32_OperatingSystem");

ManagementObjectSearcher wmiSearcher = new ManagementObjectSearcher(scope,
query);

ManagementObjectCollection queryWMICollection = wmiSearcher.Get();

foreach (ManagementObject m in queryWMICollection)

{

//Mostrar info de la computadora remota

Console.WriteLine("Nombre de la computadora: {0}", m["csname"]);

Console.WriteLine("Directorio de Windows: {0}", m["WindowsDirectory"]);

Console.WriteLine("Sistema Operativo: {0} {1}", m["Caption"],
m["Version"]);

Console.WriteLine("Fabricante: {0}", m["Manufacturer"]);

Console.WriteLine("Termina Programa para acceder a recursos de otra
computadora remotamente...");

Console.ReadLine();

}

}

}

}

"Javier Torres" wrote in message
news:
Hola..
Estoy intentando hacer una aplicacion que escanea las maquinas de una
LAN,
y
obtenga algunas caracteristicas de los clientes(hardware instalado,
software,...), El detalle es que bsoy nuevo en c#, alguien podra pasarme
un
tip de como hacerlo??? estuve leyendo algo sobre el System.Mamagement,
segun
con este recusro puedo obtener algunas de las cosas que requiero

Saludos y Suerte






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida