Wie erstelle ich einen Dienst mit WMIC?

479
Mohammadreza Panahi

Ich habe ein Serviceprogramm mit WinAPIFunktionen geschrieben mit c++und ich möchte das in wmic.exein Service Manager mit untenstehend erstellen command:

service create name="test" where path = "C:\Users\msi\Desktop\SampleService.exe" 

Aber es gibt mir das error:

Invalid format. Hint: <assignlist> = <propertyname>=<propertyvalue> [, <assignlist>]. 

Wie kann ich einen Dienst mit einem wmic.exeTool erstellen ?

1
Warum nicht sc.exe aus der normalen Kommandozeile verwenden? ist wmic anforderung? Drako vor 5 Jahren 0
@Drako Ich kenne `sc.exe`, aber ich muss` wmic` verwenden. Mohammadreza Panahi vor 5 Jahren 0
Die Fehlermeldung bedeutet, dass Sie "where" nicht verwenden sollten und es wie "service create name =" test ", path =" xxx "` schreiben sollte. Dies funktioniert jedoch auch nicht. Soweit ich sehen kann, kann "wmic" keinen Systemdienst erstellen. harrymc vor 5 Jahren 0
@ harrymc ok .... danke Mohammadreza Panahi vor 5 Jahren 0

1 Antwort auf die Frage

1
harrymc

Ich glaube, die Antwort ist, dass wmickein neuer Systemdienst erstellt werden kann.

Ich habe eine erhöhte Eingabeaufforderung ausgeführt und den Befehl ausgeführt wmic service create /?:Full, um diese Ausgabe zu erhalten:

Die Liste der Eigenschaften enthält alle möglichen Argumente, die ein Systemdienst erfordern würde. Alle sind mit "N / A" (Nicht zutreffend) gekennzeichnet, was "Nicht zutreffend" bedeutet.

Ich habe auch bei google nach gesucht "wmic service create"und vier klägliche Antworten gefunden, aber keine davon war mit der Erstellung eines Dienstes verbunden.

Ich denke, dass Sie auf ein anderes Werkzeug als zurückgreifen müssen wmic.

Beispielsweise enthält die PowerShell-Dokumentation das Applet New-Service .

WMI selbst enthält eine solche Methode in der Create-Methode der Klasse Win32_Service. Sie müssen sie jedoch über eine andere Methode als aufrufen wmic.

Vielen Dank. aber was ist die anwendung von "create" in wmic für "service"? Mohammadreza Panahi vor 5 Jahren 0
"create" ist ein legales Schlüsselwort und funktioniert für andere Verben wie "process", nicht jedoch für "service". Es scheint, als ob diese Kombination von Schlüsselwörtern nur aus Absicht oder durch Unterlassen implementiert wurde. Daher wird nur eine nicht informative Fehlermeldung generiert. Wenn ich es mit einer korrekten Syntax versuche, erhalte ich die Meldung "ERROR: Description = Unsupported parameter", was meiner Meinung nach bedeutet, dass "Service Create" nicht unterstützt wird. harrymc vor 5 Jahren 1
Oh, es ist nur für den Prozess! Vielen Dank. Mohammadreza Panahi vor 5 Jahren 0