Я пытался настроить модуль Powershell, который удаленно вызывал бы обновление Windows/Microsoft на сервере с помощью Invoke-Command, затем обрабатывал обновления и отправлял все обратно на вызывающий сервер, чтобы он мог отправить отчет по электронной почте.
Моя проблема возникает, когда я пытаюсь вызвать загрузчик: Powershell, похоже, запрашивает повышенные права на удаленном компьютере.
Вот фрагмент того, что я пытаюсь запустить и терплю неудачу:
Invoke-Command -ComputerName $Server -Credential $Credentials -ScriptBlock {
$UpdateSession = New-Object -ComObject "Microsoft.Update.Session"
Write-Progress -Activity "Updating" -Status "Checking for new updates"
$Criteria = "IsInstalled=0 and Type='Software'"
$Updates = $UpdateSession.CreateUpdateSearcher().Search($Criteria).updates
$Downloader = $UpdateSession.CreateUpdateDownloader()
$Downloader.Updates = $Updates
}
Я знаю, что проблема не в удаленном взаимодействии, так как первые 4 команды работают нормально. Переменная $Credentials
указывает на предварительно определенные учетные данные, которые являются локальным администратором на удаленном сервере.
Когда скрипт доходит до 5-й строки, $Downloader = $UpdateSession.CreateUpdateDownloader()
, я получаю эту ошибку от Powershell:
Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
+ CategoryInfo : OperationStopped: (:) [], UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException
+ PSComputerName : SERVER.sidlee.inc
Что именно может быть причиной этого?
Заранее спасибо за помощь!