DPXone
Lieutenant
- Registriert
- Mai 2009
- Beiträge
- 554
Hi,
wollte nur mal eine Möglichkeit durch PowerShell darbieten, in welcher man die Update History und die Update Liste (Installierte Updates/Verfügbare Updates) anzeigen lassen kann.
Bin leider selbst noch nicht ganz dahinter gestiegen, was genau die bereits installierten Updates in der Update-Liste sollen. Ist ja teilweise ein Teil der Update History.
Falls jemand Infos hat, wäre ich dankbar.
Bei dem Script öffnen sich zwei GridViews; eins für die Update History und eins für die Update List.
In der Update List sieht man zudem, bei welchen Treiber man über den Geräte-Manager per Rechtsklick -> Treiber aktualisieren ein Update durchführen könnte.
wollte nur mal eine Möglichkeit durch PowerShell darbieten, in welcher man die Update History und die Update Liste (Installierte Updates/Verfügbare Updates) anzeigen lassen kann.
Bin leider selbst noch nicht ganz dahinter gestiegen, was genau die bereits installierten Updates in der Update-Liste sollen. Ist ja teilweise ein Teil der Update History.
Falls jemand Infos hat, wäre ich dankbar.
Bei dem Script öffnen sich zwei GridViews; eins für die Update History und eins für die Update List.
In der Update List sieht man zudem, bei welchen Treiber man über den Geräte-Manager per Rechtsklick -> Treiber aktualisieren ein Update durchführen könnte.
PowerShell:
$UpdateSession = New-Object -ComObject 'Microsoft.Update.Session'
$UpdateSearcher = $UpdateSession.CreateUpdateSearcher()
$UpdateHistoryCount = $UpdateSearcher.GetTotalHistoryCount()
$ServerSelection = @{ 0 = 'Default' ; 1 = 'ManagedServer' ; 2 = 'WindowsUpdate' ; 3 = 'Others' }
$ResultCode = @{ 0 = 'Not Started' ; 1 = 'In Progress' ; 2 = 'Succeeded' ; 3 = 'Succeeded With Errors' ; 4 = 'Failed' ; 5 = 'Aborted' }
$UpdateSearcherCriteria = 'IsInstalled=0 or IsInstalled=1'
write-progress -Activity 'Windows Update Query' -Status 'Checking update history and update list'
$UpdateHistory = $UpdateSearcher.QueryHistory(0 , $UpdateHistoryCount) | Select Date ,
@{ n = 'Title & Description' ; e = {
$Title = $_.Title
$TitleLen = $Title.Length
$SplitDescription = [regex]::Split($_.Description , "\.\W")
$Description = $SplitDescription -join ".`r`n"
"$Title`r`n$("-"*$TitleLen)`r`n$Description`r`n"
}
} ,
@{ n = 'ResultCode' ; e = { $ResultCode[$_.ResultCode] } } ,
@{ n = 'ServerSelection' ; e = { $ServerSelection[$_.ServerSelection] } } , SupportURL
$Updates = $UpdateSession.CreateupdateSearcher().Search($UpdateSearcherCriteria).Updates | Select LastDeploymentChangeTime ,
@{ n = 'Title & Description' ; e = {
$Title = $_.Title
$TitleLen = $Title.Length
$SplitDescription = [regex]::Split($_.Description , "\.\W")
$Description = $SplitDescription -join ".`r`n"
"$Title`r`n$("-"*$TitleLen)`r`n$Description`r`n"
}
} , IsInstalled , IsDownloaded , IsBeta , IsHidden , IsMandatory , IsUninstallable , DriverManufacturer , DriverProvider ,
DriverModel , DriverHardwareID , DriverVerDate , EulaAccepted , ReleaseNotes , Type, AutoDownload , SupportUrl
$UpdateHistory | sort Date -Descending | ogv -Title 'Update History'
$Updates | sort LastDeploymentChangeTime -Descending | ogv -Title 'Updates - Installed & Not Installed'
# © DPXone, 2017
Zuletzt bearbeitet: