2016-04-25 7 views

Antwort

1

Nach dem MSDN, wenn der WMI-Dienst nicht ausgeführt wird "automatisch gestartet, wenn die erste Verwaltungsanwendung oder Skript die Verbindung zu einem WMI-Namespace anfordert.".

Sie sollten es also nicht manuell starten müssen. Aber wenn Sie würde müssen, wäre die ServiceController class ein Weg sein:

using(ServiceController sc = new ServiceController("winmgmt")) 
{ 
    sc.Start(); 
} 

Dies erfordert, dass Sie den System.ServiceProcess Namespace verweisen und importieren.

+0

Ich denke, es hat nicht funktioniert, weil der Dienst nicht nur gestartet wurde, war es auch deaktiviert. Ich musste es einschalten und manuell damit arbeiten – Jack

+0

@Jack: Sie können [diese Antwort] (http://StackOverflow.com/a/24947650/3740093) auf, wie Sie einen Dienst mit dem WinAPI aktivieren. –

+0

Das, was ich suche, danke! Ich bin mir unsicher, welchen Namen ich als serviceName paramaeter verwenden soll. Zum Beispiel möchte ich die physische MAC-Adresse des Benutzers erhalten, ich benutze diese WQL-Abfrage: 'Wählen Sie * FROM Win32_NetworkAdapterConfiguration' der Dienstname ist' NetworkAdapterConfiguration'? – Jack

Verwandte Themen