Laden...

Powershell: feststellen ob die Ausführung beendet wurde

Erstellt von bigeddie vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.181 Views
B
bigeddie Themenstarter:in
372 Beiträge seit 2007
vor 6 Jahren
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😉

16.806 Beiträge seit 2008
vor 6 Jahren

Abfragen, ob der Zustand "Started" ist.

B
bigeddie Themenstarter:in
372 Beiträge seit 2007
vor 6 Jahren

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😉

16.806 Beiträge seit 2008
vor 6 Jahren

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