Powershellscript - Dienst beenden, auf Prozess warten Invoke-Command
Hallo,
ich bastle gerade an einem Veeam Powershell Script.
Ziel ist es, 2 Dienste anzuhalten und auf die Beendigung von Prozessen zu warten bevor das Script beendet wird.
Das Script funktioniert bei lokaler Ausführung auch wunderbar nur Remote habe ich da wohl noch Fehler drin.
Wäre super wenn mir jemand helfen könnte.
Gruß,
Christoph
ich bastle gerade an einem Veeam Powershell Script.
Ziel ist es, 2 Dienste anzuhalten und auf die Beendigung von Prozessen zu warten bevor das Script beendet wird.
Das Script funktioniert bei lokaler Ausführung auch wunderbar nur Remote habe ich da wohl noch Fehler drin.
Asnp VeeamPSSnapin
$User = "domäne\administrator"
$PasswordFile = "E:\Scripts\Bla_Scripts\AESpassword.txt"
$KeyFile = "E:\Scripts\Bla_Scripts\AES.key"
$key = Get-Content $KeyFile
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, (Get-Content $PasswordFile | ConvertTo-SecureString -Key $key)
$nid1 = (Get-Process prozess1).id
$nid2 = (Get-Process prozess2).id
$nid3 = (Get-Process prozess3).id
invoke-command {stop-service "Dienst1"} -Credential $cred -computer Server1
Wait-Process -Id $nid1
Wait-Process -Id $nid2
Wait-Process -Id $nid3
invoke-command {stop-service "Dienst2"} -Credential $cred -computer Server1
Wäre super wenn mir jemand helfen könnte.
Gruß,
Christoph
Please also mark the comments that contributed to the solution of the article
Content-ID: 364511
Url: https://administrator.de/contentid/364511
Printed on: December 2, 2024 at 12:12 o'clock
7 Comments
Latest comment
Stop-Service wartet per Default darauf das der Dienst beendet ist wenn du kein -NoWait verwendest aber den -Force Parameter benutzt.
Ansonsten im Remote Scriptblock noch eine zusätzliche Prüfung einsetzen
Gruß Snap
Ansonsten im Remote Scriptblock noch eine zusätzliche Prüfung einsetzen
Stop-Service "DienstXY" -Force
while ((Get-Service "DienstXY").Status -ne 'Stopped'){sleep 1}
Gruß Snap
Nein das kommt alles in den Remote-Scriptblock. Invoke-Command wartet ja so lange bis die Ausführung auf dem Remotesystem beendet ist.
Nope, ich hatte doch gesagt alles was ich oben gepostet habe kommt in den Remote-Scriptblock !!
Na den hier
invoke-command {*****HIER****} -Force -Credential $cred -computer Server1