Laden...

Powershell: feststellen ob die Ausführung beendet wurde

Letzter Beitrag vor 6 Jahren 4 Posts 1.221 Views
Powershell: feststellen ob die Ausführung beendet wurde

Hallo,

zur Zeit starte ich einen Service via Powershell.Invoke


var script = PowerShell.Create();
script.AddScript("Get-Service | ?{$_.Displayname -like 'SQL Server (SQLEXPRESS)'}|%{$_.start()}");
var output = script.Invoke();

Wie stelle ich jedoch fest, wann das Starten des Service erfolgt ist?

Viele Grüße

Bigeddie

Man muß nichts wissen,
man muß nur wissen wer es wissen könnte
oder wo es steht😉

Abfragen, ob der Zustand "Started" ist.

Hallo Abt,

etwa so?


var script = PowerShell.Create();
script.AddScript("Get-Service | ?{$_.Displayname -like 'SQL Server (SQLEXPRESS)'}|%{$_.start()}");
var output = script.Invoke();

var stateCheck = PowerShell.Create();
stateCheck.AddScript("Get-Service | ?{$_.Displayname -like 'SQL Server (SQLEXPRESS)'}");
var checkResult = stateCheck.Invoke();
ServiceController svcc = (checkResult[0].BaseObject) as ServiceController;
Console.WriteLine(svcc.Status);
while (svcc.Status != ServiceControllerStatus.Running)
{
      checkResult = stateCheck.Invoke();
      svcc = (checkResult[0].BaseObject) as ServiceController;
      Console.WriteLine(svcc.Status);
}

Viele Grüße

Bigeddie

Man muß nichts wissen,
man muß nur wissen wer es wissen könnte
oder wo es steht😉

Probier's doch aus?! Müsste ich ja jetzt auch.. 😉