Wie übergeben Sie Funktionsparameter an der Powershell-CLI?

490
Marlon

Ich versuche, Parameter an diese Funktion unten an der Powershell-CLI zu übergeben:

 function FuncCheckService{  param($ServiceName) $arrService = Get-Service -Name $ServiceName if ($arrService.Status -ne "Running"){ Start-Service $ServiceName Write-Host "Starting " $ServiceName " service"  " ---------------------- "  " Service is now started" }  if ($arrService.Status -eq "running"){  Write-Host "$ServiceName service is already started" } } 

Service Function-Skript

Hat auf die folgende Art und Weise mit dem Software Protection Service (sppsvc) und dem folgenden Befehl auf der Powershell-CLI getestet:

PS-Benutzer>. \ CHECKSERVICE.PS1 FuncCheckService -ServiceName 'sppsvc'

Immer noch nicht funktionieren und keine Ausgaben erhalten. Habe ich oben einen Fehler gemacht?

Tks im Voraus

0
Ihre Skriptdatei hat nur eine Funktion. Es nennt es nicht. Also keine Ausgabe. PetSerAl vor 6 Jahren 0
@PetSerAl In der Befehlszeile der Eingabeaufforderung rufe ich die Funktion mit Parametern auf. Marlon vor 6 Jahren 0
Wenn Ihre Skriptdatei einzelne Funktionsdefinitionen enthält, können Sie den Funktionscode einfach in das Skript einfügen und verwenden. Wenn Ihre Skriptdatei mehrere Funktionsdefinitionen enthält, können Sie sie als Quelle verwenden und definierte Funktionen aufrufen. PetSerAl vor 6 Jahren 0
@PetSerAl Ich habe einen Beitrag bearbeitet und den Link zum ursprünglichen Skript gesetzt. Wie kann ich diese Funktion aufrufen? Wenn ich es verstanden habe, könnte ich dies tun (letzte Zeile des Powershell-Skripts): FuncCheckService -ServiceName "Name des zu überwachenden Dienstes" Marlon vor 6 Jahren 0
`. . \ CHECKSERVICE.PS1; FuncCheckService… ` PetSerAl vor 6 Jahren 0

0 Antworten auf die Frage