Проблема при установке обновлений, в чем дело?

Доброго всем дня!

Есть такой код:

$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 все ок, все апдейты есть

Может кто нибудь помочь?
  • Вопрос задан
  • 348 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы