WMI - direkter Zugriff auf die singleton-Instanz der Win32_OperatingSystem -

Habe ich Probleme, direkt auf die Win32_OperatingSystem - management-Klasse, ausgesetzt ist, über WMI.

Es ist eine singleton-Klasse, und ich bin ziemlich sicher, dass "Win32_OperatingSystem=@" ist der richtige Pfad-syntax, um die Instanz von singleton.

Den Aufruf von InvokeMethod produziert die Ausnahme unten die Frage, wie der Zugriff auf die ClassPath-Eigenschaft (auskommentierte Zeile).

Was mache ich falsch?

[Ich bin mir bewusst, dass ich verwenden können, ManagementObjectSearcher/ObjectQuery für die Rückgabe einer Sammlung von Win32_OperatingSystem (die enthalten nur eine), aber da ich weiß, dass es ein singleton ist, möchte ich direkt auf ihn zugreifen.]


ManagementScope cimv2 = InitScope(string.Format(@"\\{0}\root\cimv2", this.Name));

ManagementObject os = new ManagementObject(
    cimv2,
    new ManagementPath("Win32_OperatingSystem=@"),
    new ObjectGetOptions());

//ManagementPath p = os.ClassPath;

os.InvokeMethod("Reboot", null);

System.Management.ManagementException gefangen wurde
Message="Ungültige Objekt-Pfad"
Source="System.Management"
StackTrace:
System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
System.Management.ManagementObject.Initialize(Boolean getObject)
System.Management.ManagementBaseObject.get_wbemObject()
System.Management.ManagementObject.get_ClassPath()
System.Management.ManagementObject.GetMethodParameters(String methodName, ManagementBaseObject& inParameters, IWbemClassObjectFreeThreaded& inParametersClass, IWbemClassObjectFreeThreaded& outParametersClass)
System.Management.ManagementObject.InvokeMethod(String methodName, Object[] args)


Danke für die Antworten.

Nick - ich weiß nicht, wie man dies tun 🙂

Uros - ich war unter den Eindruck, dass es eine singleton-Klasse, weil der diese MSDN-Seite. Auch, öffnen Sie die Klasse in WBEMTest-Dienstprogramm zeigt diese.


Den Instanzen-dialog zeigt: "1 Objekte" und "max. batch: 1" in diesen Feldern und Listen "Win32_OperatingSystem=@"

Dem ManagementScope wird überprüft, wie die Arbeit, so dass ich nicht weiß, was Los ist. Ich bin ein WMI-Neuling, aber dies scheint wie eine der einfachsten Anwendungsfälle!

InformationsquelleAutor xyz | 2008-09-11
Schreibe einen Kommentar