Sie sind hier: Startseite
 Liste aller Codebeispiele

Informationen über ein Betriebssystem und Reboot via spätes Binden

Ein Beispiel zum Einsatz der Klasse System.Management.ManagementObject, ManagementClass aus der .NET-Klassenbibliothek.

Autor: Dr. Holger Schwichtenberg 

Beschreibung

Zum Vergleich soll hier auch noch einmal die Implementierung ohne die generierte Klasse gezeigt werden.

Programmcodebeispiele Visual Basic .NET (VB.NET)

' ============================
' .NET-Code-Beispiel in Visual Basic .NET
' Informationen über ein Betriebssystem und Reboot
' via spätes Binden
' (C) Holger@Schwichtenberg.de
' ============================
Sub WMI_ComputerReboot2()

Dim mo As Management.ManagementObject
Dim mc As Management.ManagementClass
Dim menge As ManagementObjectCollection

' --- Zugriff auf Klasse
mc = New ManagementClass_
("\\minbar\root\CIMV2:Win32_OperatingSystem")
' --- Instanzen holen
menge = mc.GetInstances

For Each mo In menge
out("Informationen über das Betriebssystem auf: " _
& mo.Path.Server)
out("Name: " & mo("Name"))
out("Hersteller: " & mo("Manufacturer"))
out("Typ: " & mo("OSType").ToString)
out("Sprache: " & mo("OSLanguage").ToString)
out("Version: " & mo("Version"))
out("Systemverzeichnis: " & mo("SystemDirectory"))
out("Registrierter Benutzer: " & mo("RegisteredUser"))
out("Reboot wird initiert...")
mo.InvokeMethod("reboot", Nothing)
out("Reboot eingeleitet!")
Next

End Sub

Programmcodebeispiele CSharp (C#)

using System;
using System.Management;

using FCL_Buch.ROOT;

using FCL_Buch;

namespace FCLBuch._SystemManagement {

public class SamplesWMIBeispiele {

public void WMI_ComputerReboot2() {

// Informationen über ein Betriebssystem und Reboot via spätem Binden
// Zugriff auf Klasse
ManagementClass mc = new ManagementClass(@"\\dagobar\root\CIMV2:Win32_OperatingSystem");
// Instanzen holen
ManagementObjectCollection menge = mc.GetInstances();

foreach (ManagementObject mo in menge) {
FclOutput.PrintOut("Informationen über das Betriebssystem auf: " + mo.Path.Server);
FclOutput.PrintOut("Name: " + mo["Name"].ToString());
FclOutput.PrintOut("Hersteller: " + mo["Manufacturer"].ToString());
FclOutput.PrintOut("Typ: " + mo["OSType"].ToString());
FclOutput.PrintOut("Sprache: " + mo["OSLanguage"].ToString());
FclOutput.PrintOut("Version: " + mo["Version"].ToString());
FclOutput.PrintOut("Systemverzeichnis: " + mo["SystemDirectory"].ToString());
FclOutput.PrintOut("Registrierter Benutzer: " + mo["RegisteredUser"].ToString());
FclOutput.PrintOutSubHeader("Reboot wird initiert...");
mo.InvokeMethod("reboot", null);
FclOutput.PrintOutSubHeader("Reboot eingeleitet!");
}
}
}
}

Querverweise

 Definition '.NET Framework Class Library'  Verfügbarkeit der Klasse 'System.Management.ManagementObject, ManagementClass'  Übersicht über den FCL-Namensraum 'System.Management'  .NET & Visual Studio Community Portal