Доброго всем дня!
Есть такой код:
$searcher = New-Object -ComObject Microsoft.Update.Searcher
$session = New-Object -ComObject Microsoft.Update.Session
$installer = New-Object -ComObject Microsoft.Update.Installer
$searcher.Online = $true
$searcher.ServerSelection=1
$results = $searcher.Search("IsInstalled=0")
$updates = $results.Updates
$updateCollection = New-Object -ComObject Microsoft.Update.UpdateColl
ForEach($update in $updates) { $updateCollection.Add($update) }
$downloader = $session.CreateUpdateDownloader()
$downloader.Updates = $updateCollection
$downloader.Download()
$installer.Updates = $updateCollection
$installer.Install()
Привыполнении происходит затык на последних двух строчках:
Index was outside the bounds of the array.
At line:24 char:1
+ $installer.Updates = $updateCollection
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [], IndexOutOfRangeException
+ FullyQualifiedErrorId : System.IndexOutOfRangeException
Exception from HRESULT: 0x80240004
At line:25 char:1
+ $installer.Install()
+ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [], COMException
+ FullyQualifiedErrorId : System.Runtime.InteropServices.COMException
В массиве $updates все ок, все апдейты есть
Может кто нибудь помочь?