Поделиться через


Update-Help

Скачивает и устанавливает новейшие файлы справки на компьютер.

Синтаксис

Update-Help
      [[-Module] <String[]>]
      [-FullyQualifiedModule <ModuleSpecification[]>]
      [[-SourcePath] <String[]>]
      [-Recurse]
      [[-UICulture] <CultureInfo[]>]
      [-Credential <PSCredential>]
      [-UseDefaultCredentials]
      [-Force]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-Help
      [[-Module] <String[]>]
      [-FullyQualifiedModule <ModuleSpecification[]>]
      [-LiteralPath <String[]>]
      [-Recurse]
      [[-UICulture] <CultureInfo[]>]
      [-Credential <PSCredential>]
      [-UseDefaultCredentials]
      [-Force]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Описание

Командлет Update-Help скачивает новейшие файлы справки для модулей PowerShell и устанавливает их на компьютер. Чтобы изменения вступили в силу, перезапустить PowerShell не нужно. Командлет можно использовать для Get-Help немедленного просмотра новых файлов справки.

Update-Help проверяет версию файлов справки на компьютере. Если у вас нет файлов справки для модуля или файлы справки устарели, Update-Help скачивает новейшие файлы справки. Файлы справки можно скачать и установить из Интернета или из общей папки.

Без параметров обновляет файлы справки для модулей в сеансе и для всех установленных модулей, Update-Help поддерживающих обновляемую справку. Модули, которые установлены, но не загружены в текущем сеансе, включаются. Модули PowerShell хранятся в расположении, указанном в переменной $env:PSModulePath среды. Дополнительные сведения см. в разделе about_Updatable_Help.

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

Вы можете использовать Update-Help на компьютерах, которые не подключены к Интернету. Используйте командлет , Save-Help чтобы скачать файлы справки из Интернета и сохранить их в файловой системе, например в общей папке или каталоге файловой системы. Затем используйте параметр SourcePath , Update-Help чтобы скачать обновленные файлы справки из расположения файловой системы и установить их на компьютере.

Вы можете автоматизировать обновления справки, добавив командлет в Update-Help профиль PowerShell. По умолчанию Update-Help выполняется только один раз в день на каждом компьютере. Чтобы переопределить ограничение одного раза в день, используйте параметр Force.

Командлет Update-Help появился в Windows PowerShell 3.0.

Важно!

Update-Help требуются права администратора.

Чтобы обновить файлы справки для модулей PowerShell Core, необходимо быть членом группы администраторов на компьютере.

Чтобы скачать или обновить файлы справки для модулей в каталоге установки PowerShell ($PSHOME\Modules), включая модули PowerShell Core, запустите PowerShell с помощью параметра Запуск от имени администратора. Например: Start-Process powershell.exe -Verb RunAs.

Вы также можете обновить файлы справки с помощью пункта меню Обновление Windows PowerShell справка в меню Справка в Windows PowerShell интегрированной среде сценариев (ISE).

Элемент справка Windows PowerShell обновления выполняет Update-Help командлет без параметров. Чтобы обновить справку по модулям в каталоге$PSHOME, запустите Windows PowerShell ISE с помощью параметра Запуск от имени администратора.

Примеры

Пример 1. Обновление файлов справки для всех модулей

Командлет Update-Help обновляет файлы справки для установленных модулей, поддерживающих обновляемую справку. Язык языка и региональных параметров пользовательского интерфейса задается в операционной системе.

Update-Help

Пример 2. Обновление файлов справки для указанных модулей

Командлет Update-Help обновляет файлы справки только для имен модулей, которые начинаются с Microsoft.PowerShell.

Update-Help -Module Microsoft.PowerShell*

Пример 3. Обновление файлов справки для разных языков

Командлет Update-Help обновляет файлы справки на японском (ja-JP) и английском языках (en-US) для всех модулей.

Если модуль не предоставляет файлы справки для указанного языка и региональных параметров пользовательского интерфейса, для модуля и языка и региональных параметров пользовательского интерфейса отображается сообщение об ошибке. В этом примере сообщение об ошибке указывает, что файлы справки ja-JP не найдены для модуля Microsoft.PowerShell.Utility.

Update-Help -UICulture ja-JP, en-US

Update-Help : Failed to update Help for the module(s) 'Microsoft.PowerShell.Utility' with UI culture(s) {ja-JP}
No UI culture was found that matches the following pattern: ja-JP.

Пример 4. Автоматическое обновление файлов справки

В этом примере создается запланированное задание, которое обновляет справку для всех модулей каждый день в 3:00.

$jobParams = @{
  Name = 'UpdateHelpJob'
  Credential = 'Domain01\User01'
  ScriptBlock = '{Update-Help}'
  Trigger = (New-JobTrigger -Daily -At "3 AM")
}
Register-ScheduledJob @jobParams

Id         Name            JobTriggers     Command                                  Enabled
--         ----            -----------     -------                                  -------
1          UpdateHelpJob   1               Update-Help                              True

Командлет Register-ScheduledJob создает запланированное задание, которое выполняет Update-Help команду. Команда использует параметр Credential для запуска Update-Help с использованием учетных данных члена группы "Администраторы" на компьютере. Значение параметра Trigger — это New-JobTrigger команда, которая создает триггер задания, который запускает задание каждый день в 3:00.

Чтобы выполнить Register-ScheduledJob команду, запустите PowerShell с помощью параметра Запуск от имени администратора . PowerShell предложит ввести пароль пользователя, указанного в параметре Credential . Учетные данные хранятся вместе с запланированным заданием. При выполнении задания запрос не отображается.

Вы можете использовать командлет для Get-ScheduledJob просмотра запланированного задания, с помощью командлета Set-ScheduledJob для его изменения и с помощью командлета Unregister-ScheduledJob , чтобы удалить его. Можно также просматривать запланированное задание и управлять им в планировщике заданий в следующем расположении:

Task Scheduler Library\Microsoft\Windows\PowerShell\ScheduledJobs.

Пример 5. Обновление файлов справки на нескольких компьютерах из общей папки

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

PS> Save-Help -DestinationPath \\Server01\Share\PSHelp -Credential Domain01\Admin01
PS> Invoke-Command -ComputerName (Get-Content Servers.txt) -ScriptBlock {
     Update-Help -SourcePath \\Server01\Share\PSHelp -Credential Domain01\Admin01
}

Команда Save-Help скачивает новейшие файлы справки для всех модулей, поддерживающих обновляемую справку. Параметр DestinationPath сохраняет файлы в общей папке \\Server01\Share\PSHelp . Параметр Credential указывает пользователя, у которого есть разрешение на доступ к общей папке.

Командлет Invoke-Command выполняет удаленные Update-Help команды на нескольких компьютерах. Параметр ComputerName получает список удаленных компьютеров из файлаServers.txt . Параметр ScriptBlock выполняет Update-Help команду и использует параметр SourcePath для указания общей папки, содержащей обновленные файлы справки. Параметр Credential указывает пользователя, который может получить доступ к общей папке и выполнить удаленную Update-Help команду.

Пример 6. Получение списка обновленных файлов справки

Командлет Update-Help обновляет справку для указанного модуля. Командлет использует общий параметр Verbose для отображения списка обновленных файлов справки. Подробные сведения можно использовать для просмотра выходных данных для всех файлов справки или файлов справки для определенного модуля.

Без параметра Update-HelpVerbose не отображает результаты команды. Выходные данные подробного параметра полезны для проверки того, обновлены ли файлы справки или установлена ли последняя версия.

Update-Help -Module Microsoft.PowerShell.Utility -Verbose

Пример 7. Поиск модулей, поддерживающих обновляемую справку

В этом примере перечислены модули, поддерживающие обновляемую справку. Команда использует свойство HelpInfoUri модуля для идентификации модулей, поддерживающих обновляемую справку. Свойство HelpInfoUri содержит адрес, который перенаправляется при выполнении командлета Update-Help .

Get-Module -ListAvailable | Where-Object -Property HelpInfoUri

Directory: C:\program files\powershell\6\Modules

ModuleType Version    Name                                PSEdition ExportedCommands
---------- -------    ----                                --------- ----------------
Manifest   6.1.0.0    CimCmdlets                          Core      {Get-CimAssociatedInstance... }
Manifest   1.2.2.0    Microsoft.PowerShell.Archive        Desk      {Compress-Archive... }
Manifest   6.1.0.0    Microsoft.PowerShell.Diagnostics    Core      {Get-WinEvent, New-WinEvent}

    Directory: C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules

ModuleType Version    Name                                PSEdition ExportedCommands
---------- -------    ----                                --------- ----------------
Manifest   2.0.1.0    Appx                                Core,Desk {Add-AppxPackage, ... }
Script     1.0.0.0    AssignedAccess                      Core,Desk {Clear-AssignedAccess, ... }
Manifest   1.0.0.0    BitLocker                           Core,Desk {Unlock-BitLocker, ... }

Пример 8. Обновленные файлы справки хранилища

В этом примере скрипт Get-UpdateHelpVersion.ps1 создает список обновляемых файлов справки для каждого модуля и их номеров версий.

Скрипт определяет модули, поддерживающие обновляемую справку, с помощью свойства HelpInfoUri модулей. Для модулей, поддерживающих обновляемую справку, скрипт ищет и анализирует файл справки (*helpinfo.xml), чтобы найти номер последней версии.

Скрипт использует класс PSCustomObject и хэш-таблицу для создания пользовательского выходного объекта.

# Get-UpdateHelpVersion.ps1
Param(
    [parameter(Mandatory=$False)]
    [String[]]
    $Module
)
$HelpInfoNamespace = @{helpInfo='https://schemas.microsoft.com/powershell/help/2010/05'}

if ($Module) { $Modules = Get-Module $Module -ListAvailable | where {$_.HelpInfoUri} }
else { $Modules = Get-Module -ListAvailable | where {$_.HelpInfoUri} }

foreach ($mModule in $Modules)
{
    $mDir = $mModule.ModuleBase

    if (Test-Path $mdir\*helpinfo.xml)
    {
        $mName=$mModule.Name
        $mNodes = dir $mdir\*helpinfo.xml -ErrorAction SilentlyContinue |
            Select-Xml -Namespace $HelpInfoNamespace -XPath "//helpInfo:UICulture"
        foreach ($mNode in $mNodes)
        {
            $mCulture=$mNode.Node.UICultureName
            $mVer=$mNode.Node.UICultureVersion

            [PSCustomObject]@{"ModuleName"=$mName; "Culture"=$mCulture; "Version"=$mVer}
        }
    }
}

ModuleName                              Culture                                 Version
----------                              -------                                 -------
ActiveDirectory                         en-US                                   3.0.0.0
ADCSAdministration                      en-US                                   3.0.0.0
ADCSDeployment                          en-US                                   3.0.0.0
ADDSDeployment                          en-US                                   3.0.0.0
ADFS                                    en-US                                   3.0.0.0

Параметры

-Confirm

Запрос подтверждения перед выполнением командлета.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Указывает учетные данные пользователя, у которого есть разрешение на доступ к расположению файловой системы, указанному в SourcePath. Этот параметр допустим, только если в команде используется параметр SourcePath или LiteralPath.

Параметр Credential позволяет выполнять Update-Help команды с параметром SourcePath на удаленных компьютерах. Указав явные учетные данные, вы можете выполнить команду на удаленном компьютере и получить доступ к общей папке на третьем компьютере, не столкнувшись с ошибкой отказа в доступе или не используя проверку подлинности CredSSP для делегирования учетных данных.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Указывает, что этот командлет не соблюдает ограничение на один раз в день, пропускает проверку версии и скачивает файлы, превышающие ограничение в 1 ГБ.

Без этого параметра Update-Help выполняется только один раз в течение каждого 24-часового периода. Скачиваемые файлы ограничены 1 ГБ несжатого содержимого на каждый модуль, а файлы справки устанавливаются только в том случае, если они новее существующих файлов на компьютере.

Ограничение на один раз в день защищает серверы, на которых размещаются файлы справки, и позволяет добавить Update-Help команду в профиль PowerShell без затрат на ресурсы при повторяющихся подключениях или скачивании.

Чтобы обновить справку для модуля на нескольких языках и в региональных параметрах пользовательского интерфейса без параметра Force, включите все языки и региональные параметры пользовательского интерфейса в одну команду, например:

Update-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FullyQualifiedModule

Задает модули с именами, указанными в виде объектов ModuleSpecification . Эти модули описаны в разделе Примечания статьи Конструктор ModuleSpecification (хэш-таблицы).

Например, параметр FullyQualifiedModule принимает имя модуля, указанное в формате :

@{ModuleName = "modulename"; ModuleVersion = "version_number"}

или

@{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}.

Параметры ModuleName и ModuleVersion обязательны, а Guid — нет.

Параметр FullyQualifiedModule нельзя указать в той же команде, что и параметр Module .

Type:ModuleSpecification[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

Указывает папку для обновленных файлов справки, а не для скачивания из Интернета. Используйте этот параметр или SourcePath , если вы использовали Save-Help командлет для скачивания файлов справки в каталог.

Вы можете конвейерировать объект каталога, например из Get-Item командлетов или Get-ChildItem , в Update-Help.

В отличие от значения SourcePath, значение LiteralPath используется точно так же, как оно введено. Никакие символы не распознаются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки предписывают PowerShell не интерпретировать какие-либо символы как escape-последовательности.

Type:String[]
Aliases:PSPath
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Module

Обновляет справку для указанных модулей. Введите одно или несколько имен модулей или шаблонов имен в список, разделенный запятыми, или укажите файл с одним именем модуля в каждой строке. Можно использовать подстановочные знаки. Модули можно конвейерировать из командлета в Get-ModuleUpdate-Help командлет .

Указанные модули должны быть установлены на компьютере, но их не нужно импортировать в текущий сеанс. Можно указать любой модуль в сеансе или любой модуль, установленный в расположении, указанном в переменной $env:PSModulePath среды.

Значение * (все) пытается обновить справку для всех модулей, установленных на компьютере. Включены модули, которые не поддерживают обновляемую справку. Это значение может привести к ошибкам, если команда обнаруживает модули, которые не поддерживают обновляемую справку. Вместо этого выполните команду Update-Help без параметров.

Параметр Module командлета Update-Help не принимает полный путь к файлу модуля или файлу манифеста модуля. Чтобы обновить справку для модуля, который не находится в расположении, импортируйте модуль в $env:PSModulePath текущий сеанс перед выполнением Update-Help команды .

Type:String[]
Aliases:Name
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Recurse

Выполняет рекурсивный поиск файлов справки в указанном каталоге. Этот параметр действителен, только если команда использует параметр SourcePath .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SourcePath

Указывает папку файловой системы, в которой Update-Help получает обновленные файлы справки, а не загружает их из Интернета. Введите путь к папке. Не указывайте имя файла или расширение имени файла. Вы можете конвейерировать папку, например из Get-Item командлетов или Get-ChildItem , в Update-Help.

По умолчанию Update-Help скачивает обновленные файлы справки из Интернета. Используйте SourcePath при использовании командлета Save-Help для скачивания обновленных файлов справки в каталог.

Чтобы указать значение по умолчанию для SourcePath, перейдите в групповая политика, Конфигурация компьютера и Задайте путь к источнику по умолчанию для Update-Help. Этот параметр групповая политика запрещает пользователям скачивать Update-Help файлы справки из Интернета. Дополнительные сведения см. в статье О параметрах групповой политики.

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UICulture

Задает значения языка и региональных параметров пользовательского интерфейса, которые Update-Help используются для получения обновленных файлов справки. Введите один или несколько кодов языка, например es-ES, переменную, содержащую объекты языка и региональных параметров, или команду, которая получает объекты языка и региональных параметров, например Get-Culture команду или Get-UICulture . Подстановочные знаки запрещены, и вы не можете отправить код частичного языка, например de.

По умолчанию Update-Help получает файлы справки в наборе языка и региональных параметров пользовательского интерфейса для операционной системы. Если вы указываете параметр UICulture , Update-Help ищет справку только для указанного языка и региональных параметров пользовательского интерфейса.

Команды, которые используют параметр UICulture, выполняются, только если модуль предоставляет файлы справки для указанного языка и региональных параметров пользовательского интерфейса. Если команда завершается ошибкой из-за того, что указанные язык и региональные параметры пользовательского интерфейса не поддерживаются, отображается сообщение об ошибке.

Type:CultureInfo[]
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseDefaultCredentials

Указывает, что Update-Help выполняет команду, включая скачивание из Интернета, с использованием учетных данных текущего пользователя. По умолчанию команда выполняется без явных учетных данных.

Этот параметр действует только в том случае, если для загрузки из Интернета используется NT LAN Manager (NTLM), согласование или проверка подлинности на основе Kerberos.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Входные данные

DirectoryInfo

Путь к каталогу можно передать в Update-Help.

PSModuleInfo

Объект модуля можно передать из командлета Update-Helpв Get-Module .

Выходные данные

None

Update-Help не создает никаких выходных данных.

Примечания

Чтобы обновить справку по модулям PowerShell Core, которые содержат команды, установленные с помощью PowerShell, или любого модуля в каталоге $PSHOME\Modules , запустите PowerShell с параметром Запуск от имени администратора.

Только члены группы "Администраторы" на компьютере могут обновлять справку для модулей PowerShell Core, команд, установленных вместе с PowerShell, а также для модулей в папке $PSHOME\Modules . Если у вас нет разрешения на обновление файлов справки, вы можете прочитать файлы справки в Интернете. Например, Get-Help Update-Help -Online.

Модули — это наименьшая единица обновляемой справки. Вы не можете обновить справку для определенного командлета. Чтобы найти модуль, содержащий определенный командлет, используйте свойство ModuleName командлета Get-Command , например (Get-Command Update-Help).ModuleName.

Так как файлы справки устанавливаются в каталоге модуля, Update-Help командлет может установить обновленный файл справки только для модулей, установленных на компьютере. Save-Help Однако командлет может сохранить справку для модулей, которые не установлены на компьютере.

Если Update-Help не удается найти обновленные файлы справки для модуля или не удается найти обновленную справку на указанном языке, она продолжается без сообщения об ошибке. Чтобы увидеть состояние и сведения о ходе выполнения, используйте параметр Verbose.

Командлет Update-Help появился в Windows PowerShell 3.0. Он не работает в более ранних версиях Windows PowerShell. На компьютерах с Windows PowerShell 2.0 и Windows PowerShell 3.0 используйте Update-Help командлет в сеансе Windows PowerShell 3.0 для скачивания и обновления файлов справки. Файлы справки доступны для Windows PowerShell 2.0 и Windows PowerShell 3.0.

Командлеты Update-Help и Save-Help используют следующие порты для скачивания файлов справки: порт 80 для HTTP и порт 443 для HTTPS.

Update-Help поддерживает все модули и оснастки PowerShell Core. Другие оснастки не поддерживаются.

Чтобы обновить справку для модуля в расположении, которое не указано в $env:PSModulePath переменной среды, импортируйте модуль в текущий сеанс и выполните Update-Help команду. Выполните команду Update-Help без параметров или используйте параметр Module , чтобы указать имя модуля. Параметр Update-HelpModule командлетов и Save-Help не принимает полный путь к файлу модуля или файлу манифеста модуля.

Любой модуль может поддерживать обновляемую справку. Инструкции по поддержке обновляемой справки в модулях, которые вы создаете, см. в разделе Поддержка обновляемой справки.

Командлеты Update-Help и Save-Help не поддерживаются в среде предустановки Windows (Windows PE).