Liste aller Codebeispiele
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 FCL_Buch._System_Management {
public class Samples_WMI_Beispiele {
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'
Übersicht über den FCL-Namensraum 'System.Management'
Portal dotnetframework.de
|