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.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
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.. 😉
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code