В прошлом я использовал этот код для перечисления количества исправлений Windows:
$server = 'ServerName'
$updatesession = [activator]::CreateInstance([type]::GetTypeFromProgID("Microsoft.Update.Session", $Server))
$updatesearcher = $updatesession.CreateUpdateSearcher()
$searchresult = $updatesearcher.Search("IsInstalled=0")
$PatchCount = $searchresult.Updates.Count
return $PatchCount
Однако этот код неожиданно перестал работать на некоторых серверах. Это может быть артефактом последних обновлений Windows. Аналогичный скрипт (который также не работает) - здесь .
Это исключение, которое я получаю:
Исключение из HRESULT: 0x8024401C В строке: 5 символов: 1 + $ searchresult = $ updatesearcher.Search ("IsInstalled = 0") +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: OperationStopped: (:) [], COMException + FullyQualifiedErrorId: System.Runtime.InteropServices.COMException
Благодарим Вас за любую помощь в исправлении этого кода (или, если есть лучшая альтернативаэто тоже сработало бы.)