Laden...

WMI Tools

Erstellt von Khalid vor 16 Jahren Letzter Beitrag vor 16 Jahren 4.668 Views
Khalid Themenstarter:in
3.511 Beiträge seit 2005
vor 16 Jahren
WMI Tools

Hallo,

ich stell hier mal eine kleine Bibliothek zur Verfügung, die ich in einem aktuellen Projekt benötige. Mit der Bibliothek ist es relativ einfach WMI Klassen abzufragen und auch deren Methoden zu benutzen.

Mal ein kleines Beispiel, um z.B. alle WMI Klassen auf einem Zielrechner anzuzeigen.


WmiClasses wmi = new WmiClasses();
wmi.Connect();
//wmi.Connect("VirtualPC", "Administrator", "TollesKennwort");

IEnumerable<string> classes = wmi.GetAvailableClasses(true);
foreach (string className in classes)
  Console.WriteLine(className);

Um alle Eigenschaften einer WMI Klasse anzuzeigen, kann man z.B. schreiben


WmiClasses wmi = new WmiClasses();
wmi.Connect();

IEnumerable<string> properties = wmi.GetClassPropertyNames(typeof(Win32_OperatingSystem).Name);
foreach (string property in properties)
  Console.WriteLine(property);

Auch können die einzelnen Methoden so aufgelistet werden (mit GetClassMethodNames).

Hier ein Beispiel, um sich einige Informationen über das Betriebssystem anzuschauen:


Console.Clear();

WmiClasses wmi = new WmiClasses();
wmi.Connect();

Win32_OperatingSystem[] os = wmi.GetWmiClass<Win32_OperatingSystem>();
if (os.Length == 1)
{
  Console.WriteLine("Caption: " + os[0].Caption);
  Console.WriteLine("Description: " + os[0].Description);
  Console.WriteLine("FreePhysicalMemory: {0} bytes", os[0].FreePhysicalMemory);
  Console.WriteLine("FreeVirtualMemory: {0} bytes", os[0].FreeVirtualMemory);
  Console.WriteLine("LanguageID: " + os[0].OSLanguage);
}
Console.ReadLine();

Um z.B. jetzt einen Zielrechner herunterfahren reicht dann ein:


WmiClasses wmi = new WmiClasses();
wmi.Connect();

Win32_OperatingSystem[] os = wmi.GetWmiClass<Win32_OperatingSystem>();
if (os.Length == 1)
  os[0].Shutdown();

Vielleicht kann ja der ein oder andere die Bibliothek gebrauchen.

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)