PowerShell - Invoke-Command - SkriptBlock
Moin,
ich würde gerne auf einem Remotesystem prüfen ob ein Server einenen Neustart wegen eines Win Updates benötigt - das Internet sagte eins der unten stehenden Reg Keys würde es einem verrraten.
Jetzt will ich das per Skript abfragen
leider wird in dieser function niemals der true fall ausgeführt:
Während nur:
zu einem true führt
Hinweis: $computers ist ein Array mit einem Eintrag: TEST2012
Kann mir jemand sagen wo der Fehler ist?
ich würde gerne auf einem Remotesystem prüfen ob ein Server einenen Neustart wegen eines Win Updates benötigt - das Internet sagte eins der unten stehenden Reg Keys würde es einem verrraten.
Jetzt will ich das per Skript abfragen
leider wird in dieser function niemals der true fall ausgeführt:
function UpdateChecker($computers){
foreach ($x in $computers){
If(Invoke-Command -ComputerName $x -ScriptBlock {Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired"}) {
$ServerRestartListe += $x
}
else {
Write-Host "if traf nicht zu" -ForegroundColor Green
}
$ServerRestartListe
}
}
Während nur:
Invoke-Command -ComputerName TEST2012 -ScriptBlock {Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired"}
Hinweis: $computers ist ein Array mit einem Eintrag: TEST2012
Kann mir jemand sagen wo der Fehler ist?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 364116
Url: https://administrator.de/forum/powershell-invoke-command-skriptblock-364116.html
Ausgedruckt am: 31.03.2025 um 23:03 Uhr
4 Kommentare
Neuester Kommentar

$ServerRestartListe Ist kein hier ersichtlich "vorher" definiertes Array, was es aber sein muss damit sich ein Wert hinzufügen lässt.
Und den Invoke-Command würde ich vorher in einer Variablen speichern und im if die Variable prüfen.
Gruß Snap
P.s. für das Remote prüfen eines Registry Wertes braucht es nicht unbedingt Invoke-Command das geht auch per WMI und StdRegProv.
$ServerRestartListe = @()
Und den Invoke-Command würde ich vorher in einer Variablen speichern und im if die Variable prüfen.
Gruß Snap
P.s. für das Remote prüfen eines Registry Wertes braucht es nicht unbedingt Invoke-Command das geht auch per WMI und StdRegProv.

Hätte mich auch schwer gewundert.