PowerShell – Abfrage der letzten Windows Update Installation

PowerShell (von starwindsoftware.com)

Falls ihr mal vor dem Problem steht, das letzte Installationsdatum der Windows Updates auf einem Computer lokal oder remote abzufragen, gibt es dafür mit Sicherheit mehrere Lösungsansätze. Ein einfacher Weg wäre es, dies mit dem folgenden PowerShell Script zu erledigen.

Was macht das Script?

Das Script liest aus der Windows Registry aus dem Pfad „HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results\“ den Schlüssel „LastSuccessTime“ aus und gibt dessen Wert aus. Zusätzlich wird in dem Script noch eine LOG-Datei geschrieben, welche die Statusmeldung enthält.

Kann ich den Wert auch remote abfragen?

Das Script funktioniert nicht nur lokal, sondern kann auch Remote diesen Registry-Wert auslesen. Dafür muss die Variable $computer mit dem jeweiligen Hostnamen gefüllt werden. Weitere Voraussetzung dafür ist, dass auf dem Remote-Host der „Remoteregistrierungsdienst“ ausgeführt wird. Ohne diesen klappt die Remote-Abfrage leider nicht.

PowerShell Quelltext:

# Letzte erfolgreiche Installation eines Windows Updates ueberpruefen
# www.joekadev.de

$computer = "hostname-hier"  #Lokaler/Remote Computername

Function LWUCheck {
        $key = “SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results\Install” 
        $keytype = [Microsoft.Win32.RegistryHive]::LocalMachine 
        $RemoteBase = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($keytype,$computer) 
        $regKey = $RemoteBase.OpenSubKey($key) 
        $KeyValue = $regkey.GetValue(”LastSuccessTime”) 

        $System = (Get-Date -Format "yyyy-MM-dd hh:mm:ss")  

        if ($KeyValue -lt $System) 
        { 
            Write-Host $computer " - " $KeyValue
        }
}

LWuCheck > D:\scripte\lwucheck.txt

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.