Как выполнить обновление справки PowerShell (Update-Help) при использовании прокси

При попытке выполнить команду обновления справочной информации Update-Help для оболочки PowerShell в случае, если у текущего пользователя нет прямого выхода в Интернет, можно получить ошибку типа:

Update-Help : Не удалось обновить справку для одного или нескольких модулей «ActiveDirectory, AppBackgroundTask, AppLocker, … WindowsUpdate» с культурами пользовательского интерфейса {ru-RU}: Не удалось подключиться к содержимому справки. Возможно, сервер, на котором оно хранится, недоступен. Убедитесь, что он доступен, или дождитесь его подключения к сети и выполните команду еще раз.

Как я понял, для обновления справки PowerShell используется класс System.Net.WebClient, который в свою очередь не пытается использовать учётные данные текущего пользователя для того, чтобы предоставить их прокси серверу, который в нашем случае требует обязательной аутентификации. Чтобы указанному классу явно передать учётные данные, выполним пару команд:

$wc = New-Object System.Net.WebClient
$wc.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials

После этого можно попробовать снова запустить команду обновления справки:

Update-Help

При этом стоит помнить также про то, что обновление справки нужно выполнять из под учётной записи с административными привилегиями, в противном случае необходимые для обновления файлы будут загружены, но не смогут установиться в систему и мы снова получим ошибку.


Автор первичной редакции:
Алексей Максимов
Время публикации: 28.04.2016 15:17