ListOSpatches.ps1 (zpäť na zoznam)
Vytvorenie zoznamu všetkých záplat operačného systému, alebo zisťovanie či je konkrétna záplata aplikovaná.
$hostname = hostname
$Session = New-Object -ComObject "Microsoft.Update.Session"
$Searcher = $Session.CreateUpdateSearcher()
$historyCount = $Searcher.GetTotalHistoryCount()
$patches = $Searcher.QueryHistory(0, $historyCount) | Select-Object Date, Title
#list all
foreach ($patch in $patches) {
$patch.Title -match "\((.+)\)" | out-null
$kb = $Matches[1]
$date = $patch.Date
write-host $hostname";"$date";"$kb
}
#find requested
$patches_to_search = @()
foreach ($pts in $patches_to_search) {
$found = $false
foreach ($patch in $patches) {
if (-not $found) {
if ($patch.title -match $pts) {
write-host $hostname";"$pts";found"
$found = $true
}
else {
write-host $hostname";"$pts";not found"
}
}
else {
continue
}
}
}