
Nach der Installation bestimmter Patches oder Sicherheitsupdates unter Windows ist möglicherweise ein Neustart erforderlich, damit diese wirksam werden. Wenn Benutzer jedoch den Neustart ihrer Computer ständig hinauszögern oder wenn der automatische Neustart nach Updates auf Servern/Workstations deaktiviert ist (z. B. über die Windows Update-Gruppenrichtlinie), können Hosts bis zu einem Neustart mit installierten, aber nicht angewendeten Updates verbleiben. In großen Unternehmensnetzwerken bleiben Dutzende von Geräten oft wochenlang im Status „PendingReboot“ hängen, was eine erhebliche betriebliche Herausforderung darstellt. Sehen wir uns an, wie Sie Computer im Netzwerk finden, die nach der Installation von Updates auf einen Neustart warten.
In meinem Fall hat der Windows Server-Host die Installation der Updates abgeschlossen, aber noch keinen Neustart durchgeführt. In der Windows Update-Systemsteuerung wird der Status „Neustart ausstehend“ angezeigt.

Mit dem PendingReboot-Modul aus der PowerShell-Galerie kann der ausstehende Neustartstatus eines Computers abgefragt werden. Um dieses PowerShell-Modul zu installieren, führen Sie den folgenden Befehl aus:
Install-Module-Name PendingReboot
Überprüfen Sie, ob Ihr Computer einen Neustart erfordert:
„Test-PendingReboot“.
IsRebootPending: True

Das Hinzufügen der Option „-Detailed“ führt dazu, dass das Cmdlet zusätzliche Informationen anzeigt, einschließlich des Grundes für den ausstehenden Neustart (sei es aufgrund der Installation von Updates, dem Beitritt zu einer Domäne oder der Installation/Entfernung von Rollen und Funktionen).
„Test-PendingReboot-Detailed“.

ComponentBasedServicing : TruePendingComputerRenameDomainJoin : FalsePendingFileRenameOperations : FalsePendingFileRenameOperationsValue :SystemCenterConfigManager :WindowsUpdateAutoUpdate : TrueIsRebootPending : True
Mit dem Cmdlet Invoke-Command (PowerShell Remoting muss aktiviert und konfiguriert sein) können Sie prüfen, ob auf einem Remotecomputer ein Neustart erforderlich ist.
Invoke-Command-ComputerName m-dc01-ScriptBlock {Test-PendingReboot}
Wenn Sie keine zusätzlichen PowerShell-Module installieren möchten, können Sie den Status des bevorstehenden Neustarts in der Registrierung überprüfen. Das Vorhandensein von Einträgen in den folgenden Registrierungsschlüsseln weist darauf hin, dass ein Neustart erforderlich ist:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPendingHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequiredHKLM\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperationsHKLM\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations2
Sie können beispielsweise den folgenden Befehl verwenden, um nach einem ausstehenden Neustarteintrag zu suchen:
Get-Item 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired'-ErrorAction SilentlyContinue

Wenn der Parameter unter dem Registrierungsschlüssel RebootRequired vorhanden ist, bedeutet dies, dass der Host einen Neustart erfordert.

Hier ist ein Beispiel für eine PowerShell-Funktion zum Überprüfen des Vorhandenseins von Parametern in diesen Registrierungsschlüsseln:
` Funktion Get-PendingReboot {
param(string[]$ComputerName=“localhost”)
foreach ($Computer in $ComputerName) {
$HKLM=Microsoft.Win32.RegistryKey::OpenRemoteBaseKey(‘LocalMachine’, $Computer)
$CBS=$HKLM.OpenSubKey(‘SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending’)
$WU=$HKLM.OpenSubKey(‘SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired’)
$SM=$HKLM.OpenSubKey(‘SYSTEM\CurrentControlSet\Control\Session Manager’)
$Rename=$SM.GetValue(‘PendingFileRenameOperations’)
$Rename2=$SM.GetValue(‘PendingFileRenameOperations2’)
PSCustomObject@{
Computer=$Computer
RebootNeeded=bool
}
}
} `
Mit dieser Funktion können Sie überprüfen, ob der lokale Computer einen Neustart erfordert. Sie können den ausstehenden Neustartstatus auch auf mehreren Remote-Computern gleichzeitig überprüfen.
Get-PendingReboot „m-fs01“, „m-fs02“, „m-dc01“

Wenn Windows aufgrund einer fehlgeschlagenen Windows Update-Installation ständig zu einem Neustart auffordert, können Sie das ausstehende Update manuell abbrechen und die Schleife des ausstehenden Neustarts stoppen.
*️⃣ Quelllink:
Windows Update-Gruppenrichtlinie, Beitritt zu einer Domäne, Invoke-Command, PowerShell Remoting muss aktiviert und konfiguriert sein, , , Windows fordert ständig zu einem Neustart auf,