2016-05-20 6 views
0

Ich brauche als Parameter einen Windows-Dienst über Powershell mit einer ‚1‘ zu starten, wie unten:Powershell - Starten Sie den Windows-Dienst mit einem Parameter

enter image description here

Also im Grunde möchte ich so etwas wie dies zu tun mit Powershell:

Start-Service _MyService 1 <- won't work 

googeln hat nichts Bemerkenswertes zu diesem Thema produziert, vielleicht für die falsche Sache, die ich bin auf der Suche, aber ich kann es nicht möglich, nicht glauben. Anhaltspunkte irgendjemand?

Antwort

5

Eine Alternative besteht darin, das Cmdlet Get-Service zum Abrufen eines Dienstcontrollers zu verwenden und anschließend die Methode Start() aufzurufen.

# "ServiceName" != "Display Name" 
$yourService = Get-Service "ServiceName" 
$yourService.Start(1) 
+0

Um explizite Array-Syntax in der 'Starten' Aufruf zu verwenden, hatte ich eine Liste der Argumente zu liefern:' $ yourService.Start (@ ('arg1', 'arg2')) ' – Mark

2

Sie können sc.exe aufrufen, die Dienste mit Parametern starten erlaubt:

Invoke-Expression "sc.exe start _MyService 1" 
+0

Ausgezeichnet, danke für die schnelle Antwort. Entschuldigung kann nicht beide Antworten als richtig markieren, aber ein upvote haben. Ich drehte eine Münze und wählte Tungs Antwort. –

+1

@BenPower Tungs Antwort ist wahrscheinlich sogar ohne eine Münze korrekter, weil es reine Powershell ist, wie in meiner Antwort ruft es die Befehlszeile um Hilfe – dotnetom