¿Qué clases debo usar en C# para obtener información sobre cierta computadora en mi red? (Al igual que quién inició sesión en esa computadora, qué sistema operativo se está ejecutando en esa computadora, qué puertos están abiertos, etc.)C#: obtener información sobre la computadora en el dominio
7
A
Respuesta
2
Biblioteca WMI y aquí está un VB.net example. No debería ser difícil convertirlo a C#
2
Mire en la biblioteca de WMI.
9
Pago System.Management y System.Management.ManagementClass. Ambos se usan para acceder a WMI, que es cómo obtener la información en cuestión.
Editar: actualiza con la muestra acceder a WMI del equipo remoto:
ConnectionOptions options;
options = new ConnectionOptions();
options.Username = userID;
options.Password = password;
options.EnablePrivileges = true;
options.Impersonation = ImpersonationLevel.Impersonate;
ManagementScope scope;
scope = new ManagementScope("\\\\" + ipAddress + "\\root\\cimv2", options);
scope.Connect();
String queryString = "SELECT PercentProcessorTime, PercentInterruptTime, InterruptsPersec FROM Win32_PerfFormattedData_PerfOS_Processor";
ObjectQuery query;
query = new ObjectQuery(queryString);
ManagementObjectSearcher objOS = new ManagementObjectSearcher(scope, query);
DataTable dt = new DataTable();
dt.Columns.Add("PercentProcessorTime");
dt.Columns.Add("PercentInterruptTime");
dt.Columns.Add("InterruptsPersec");
foreach (ManagementObject MO in objOS.Get())
{
DataRow dr = dt.NewRow();
dr["PercentProcessorTime"] = MO["PercentProcessorTime"];
dr["PercentInterruptTime"] = MO["PercentInterruptTime"];
dr["InterruptsPersec"] = MO["InterruptsPersec"];
dt.Rows.Add(dr);
}
Nota: ID de usuario, contraseña y ipAddress debe ser definido todo para que coincida con su entorno.
+0
gracias por los enlaces – melculetz
3
Aquí hay un ejemplo de cómo usarlo en un cuadro sobre. MSDN tiene el resto de los elementos que puede todos.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Management;
namespace About_box
{
public partial class About : Form
{
public About()
{
InitializeComponent();
FormLoad();
}
public void FormLoad()
{
SystemInfo si;
SystemInfo.GetSystemInfo(out si);
txtboxApplication.Text = si.AppName;
txtboxVersion.Text = si.AppVersion;
txtBoxComputerName.Text = si.MachineName;
txtBoxMemory.Text = Convert.ToString((si.TotalRam/1073741824)
+ " GigaBytes");
txtBoxProcessor.Text = si.ProcessorName;
txtBoxOperatingSystem.Text = si.OperatingSystem;
txtBoxOSVersion.Text = si.OperatingSystemVersion;
txtBoxManufacturer.Text = si.Manufacturer;
txtBoxModel.Text = si.Model;
}
}
}
Cuestiones relacionadas
- 1. Dominio de la computadora NetBIOS en PowerShell
- 2. obtener información sobre un conjunto
- 3. C# obtener información sobre la ventana activa actual
- 4. ¿Cómo obtener información sobre la computadora? [32 bits o 64 bits]
- 5. JavaScript - obtener información detallada sobre el navegador
- 6. Más información sobre `({});` en C?
- 7. Página para obtener información sobre el navegador y la conexión
- 8. ¿Cómo encontrar si la computadora local está en un dominio?
- 9. Cambiar el nombre de la computadora y unir el dominio con un reinicio en C#
- 10. ¿Cómo obtener información sobre el búfer/archivo actual en emacs?
- 11. cómo obtener información sobre el cliente en Node.js
- 12. Información sobre delegado de acción en C#
- 13. ¿Cómo obtener información sobre el sistema de archivos del disco?
- 14. obtener información sobre las dependencias de maven
- 15. ¿Cómo puedo obtener el nombre de la computadora y la dirección IP de la computadora local?
- 16. ¿Dónde puedo obtener información sobre el diseño de arquitectura de proyecto C# correcto?
- 17. Cómo obtener información sobre selección de fuentes en Mathematica
- 18. Acceso LDAP desde dmz falla:: no se pudo recuperar la información sobre el dominio (1355)
- 19. ¿Cómo obtener información sobre un tipo definido por el usuario?
- 20. ¿Dónde puedo obtener información sobre el kernel de Windows?
- 21. ¿Cómo obtener más información sobre el evento Application Hang?
- 22. ¿Mejores prácticas para obtener información sobre la versión?
- 23. Más información sobre informática distribuida
- 24. ¿Cómo obtener información programáticamente sobre sucursales en TFS?
- 25. Mostrar información sobre herramientas en el mouse sobre un texto
- 26. Dónde puedo encontrar información sobre el atributo C++ [[obsoleto]]
- 27. ¿Dónde puedo obtener información sobre cómo iniciar la programación de C# con MVC/ASP.NET?
- 28. PHP: Obtener el dominio de la URL
- 29. Información sobre herramientas en paneles
- 30. ¿Obtener el nombre de dominio en la URL con JSTL?
¿Está tratando de ejecutar este código en la máquina de destino? ¿o está tratando de ejecutar esto desde su computadora y obtener información sobre otra máquina a través de la red? – Nate
Quiero ejecutar el código desde mi computadora para obtener información acerca de otra máquina a través de la red, conociendo su IP – melculetz
Proporcioné un ejemplo de consulta WMI remota en mi respuesta. – Nate