2

На моем компьютере (Win10 Enterprise x64, 1709) запуск Update-Help возвращает две ошибки:

update-help: не удалось обновить справку для модуля (ов) 'AutoSequencer, HostNetworkingService, WindowsUpdateProvider' с культурой (ями) пользовательского интерфейса {en-US}: невозможно получить XML-файл HelpInfo для культуры пользовательского интерфейса en-US. Убедитесь, что свойство HelpInfoUri в манифесте модуля является действительным, или проверьте подключение к сети, а затем повторите команду.

В строке: 1 символ: 1 + update-help + ~~~~~~~~~~~ + CategoryInfo: ResourceUnavailable: (:) [Update-Help], Exception + FullyQualifiedErrorId: UnableToRetrieveHelpInfoXml, Microsoft.PowerShell.Команды.UpdateHelpCommand

update-help: не удалось обновить справку для модуля (ей) «PrintManagement» с использованием языка (ов) пользовательского интерфейса {en-US}: невозможно подключиться к содержимому справки. Сервер, на котором хранится содержимое справки, может быть недоступен. Убедитесь, что сервер доступен, или подождите, пока сервер снова не подключится, и повторите команду.

В строке: 1 символ: 1 + update-help + ~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (:) [Update-Help], Exception + FullyQualifiedErrorId: UnableToConnect, Microsoft.PowerShell.Команды.UpdateHelpCommand

Это проблема, потому что я пишу сценарии обновлений Windows в первый раз, и наличие справочных файлов для WindowsUpdateProvider является своего рода важным. Даже если бы я знал , как найти и исправить свойство «HelpInfoUri», я бы не знал , что установить его - поиск Google для «WindowsUpdateProvider помощи» в основном возвращает человек спрашивает об этой проблеме на разных языках, без каких - либо решений , я могу увидеть. Это также означает, что я не могу обойти проблему с помощью онлайн-справки. (Get-Help WindowsUpdateProvider -online возвращает похожую ошибку.)

Я знаю о модуле « PSWindowsUpdate », но из-за наших процессов было бы предпочтительнее использовать модуль, который поставляется с Windows 10 .

4 ответа4

3

Это не необычно. Это случалось со мной много раз. С момента первого выпуска PowerShell/Monad.

Так что не переживайте из-за этого, потому что обычно вы не можете это исправить (часто это может сделать только автор), и используйте версию онлайн-справки для модуля, у которого есть проблемы, если таковые имеются, конечно.

Не все модули имеют обновляемую справку, или есть проблемы со связанным манифестом, файлами ссылок на справку.

Итак, как отмечает PimpJuiceIT, просто используйте эту команду, чтобы игнорировать ошибку.

1

Я наткнулся на Не удалось обновить справку для модуля (ов)~ сообщение TechNet после попытки сделать это и получить точно такой же результат, как и вы.

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

Решение для двух частей

  1. Запустите PowerShell с повышенными правами администратора
  2. Запустите этот синтаксис команды PowerShell :

    Update-Help  -Force -Ea 0 -Ev what
    $what.Exception
    

    источник


Ошибка (с использованием -ErrorAction [ -Ea ] и -ErrorVariable [ -Ev ])

  • Не удалось обновить справку для модулей: « <List of Modules> ~» Доступ запрещен. Команде не удалось обновить разделы справки для основных модулей Windows PowerShell или для любых модулей в каталоге $ pshome\Modules. Чтобы обновить эти разделы справки, запустите Windows PowerShell с помощью команды «Запуск от имени администратора» и попробуйте снова запустить Update-Help. Не удалось обновить справку для модуля (ей) ~


Дополнительные ресурсы

1

Цитирую dsolodow, выпуск № 139 из документации по PowerShell на GitHub:

Нет, пока нет исправления для отсутствующей помощи. Однако большинство командлетов в этом модуле не имеют каких-либо реальных опций и просто возвращают true/false или дату и время.

Лично мне нравится обходной путь ниже, который продолжает работать и не останавливается на ошибке, но дает в конце ошибки. Это было предложено Alo Press в этой дискуссии Technet.

Update-Help  -Force -Ea 0 -Ev what
$what.Exception
-1

Лучшее использование:

$modules = Get-Module -ListAvailable

foreach ($module in $modules) {
    Write-Output $module
    Update-Help -Module $module -ErrorAction Continue
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .