Powershell: эта команда застревает в моем скрипте, зависает

Powershell: эта команда застревает в моем скрипте, зависает

Я пытаюсь получить список доступных обновлений с помощью

$UpdateSession = New-Object -ComObject 'Microsoft.Update.Session'
Write-Host "[1]"

$UpdateSession.ClientApplicationID = 'MSDN PowerShell Sample'
Write-Host "[2]"

$UpdateSearcher = $UpdateSession.CreateUpdateSearcher()
Write-Host "[3]" 

$SearchResult = $UpdateSearcher.Search("IsInstalled=0 and IsHidden=0")
Write-Host "[4]"

Последняя инструкция $SearchResult = $UpdateSearcher.Search("IsInstalled=0 and IsHidden=0") замерзает, ничего не возвращает, и я не могу понять почему.
Вывод:

[1]
[2]
[3]
<running...>

Я предполагаю, что он действительно что-то делает, потому что я не могу нажать CTRL+C, чтобы остановить его. Придется перезапустить Powershell.

(W7 SP1, .NET Framework 4.6.1, Powershell 4.0)

Есть идеи?

Редактировать:взял эти строки изПолучить-WindowsUpdates.ps1сценарий

Связанный контент