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


Update-Help

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

Синтаксис

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

Описание

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

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

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

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

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

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

Внимание

Update-Help требуются права администратора в PowerShell 6.0 и ниже. PowerShell 6.1 и более поздних версий задайте для области CurrentUser по умолчанию значение . До PowerShell 6.1 параметр Scope недоступен.

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

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

Примеры

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

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

Update-Help

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

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

Update-Help -Module Microsoft.PowerShell*

Пример 3. Обновление справки в системе не задано для языкового стандарта en-US

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

В этом примере Update-Help выполняется в системе, настроенной на языковой en-GB стандарт.

Update-Help Microsoft.PowerShell.Utility -Force

Update-Help: Failed to update Help for the module(s) 'Microsoft.PowerShell.Utility' with
UI culture(s) {en-GB} : The specified culture is not supported: en-GB. Specify a culture
from the following list: {en-US}..
English-US help content is available and can be installed using: Update-Help -UICulture en-US.

Файлы справки всегда публикуются для языкового en-US стандарта. Чтобы скачать справку по английскому языку, запустите Update-Help с помощью параметра UICulture и укажите языковой en-US стандарт.

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

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

Save-Help -DestinationPath \\Server01\Share\PSHelp -Credential Domain01\Admin01
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 команду.

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

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

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

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

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

В этом примере перечислены модули, поддерживающие обновляемую справку. Команда использует свойство HelpInfoUri модуля для идентификации модулей, поддерживающих обновляемую справку. Свойство HelpInfoUri содержит URL-адрес, перенаправленный при запуске командлета 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, ... }

Пример 7. Обновленные файлы справки инвентаризации

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

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

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

# Get-UpdateHelpVersion.ps1
Param(
    [parameter(Mandatory=$False)]
    [String[]]
    $Module
)
$HelpInfoNamespace = @{helpInfo='http://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

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

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Credential

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

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

Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential, созданный командлетомGet-Credential. Если ввести имя пользователя, вам будет предложено ввести пароль.

Учетные данные хранятся в объекте PSCredential , а пароль хранится как SecureString.

Примечание.

Дополнительные сведения о защите данных SecureString см. в разделе "Как безопасна Защита SecureString?".

Тип:PSCredential
Position:Named
Default value:Current user
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Force

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

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

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

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

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-FullyQualifiedModule

Это значение может быть именем модуля, полной спецификацией модуля или путем к файлу модуля.

Если значение является путем, путь может быть полностью или относительным. Относительный путь разрешается относительно скрипта, содержащего инструкцию using.

Если значение является спецификацией имени или модуля, PowerShell выполняет поиск в PSModulePath для указанного модуля.

Спецификация модуля — это хэш-файл, имеющий следующие ключи.

  • ModuleName - Обязательный указывает имя модуля.
  • GUID - Необязательный атрибут указывает GUID модуля.
  • Также требуется указать по крайней мере один из трех приведенных ниже ключей.
    • ModuleVersion — задает минимальную допустимую версию модуля.
    • MaximumVersion — задает максимальную допустимую версию модуля.
    • RequiredVersion — указывает точную, требуемую версию модуля. Это нельзя использовать с другими ключами версии.

Невозможно указать параметр ПолностьюQualifiedModule в той же команде, что и параметр module .

Тип:ModuleSpecification[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-LiteralPath

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

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

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

Тип:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Module

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

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

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

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

Тип:String[]
Aliases:Name
Position:0
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:True

-Recurse

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Scope

Указывает область системы, в которой обновляется справка. Обновления в области AllUsers требуют прав администратора в системах Windows. Параметр -Scope появился в PowerShell Core версии 6.1.

CurrentUser — это область справки по умолчанию для файлов справки в PowerShell 6.1 и выше. AllUsers можно указать для установки или обновления справки для всех пользователей. Для обновления справки для всех пользователей требуются привилегии систем sudo Unix. Например: sudo pwsh -c Update-Help

Допустимые значения:

  • CurrentUser
  • AllUsers
Тип:UpdateHelpScope
Position:Named
Default value:CurrentUser
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-SourcePath

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

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

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

Тип:String[]
Aliases:Path
Position:1
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-UICulture

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

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

Начиная с PowerShell 7.4, можно использовать частичный языковой код, например en скачать справку на английском языке для любого региона.

Примечание.

Ubuntu 18.04 изменил параметр языкового стандарта по умолчанию на ,который не является распознаваемым языком и региональными параметрами C.UTF.8пользовательского интерфейса. Update-Help Автоматически не удается скачать справку, если этот параметр не используется с поддерживаемым языковым стандартом, например en-US. Это может произойти на любой платформе, которая использует неподдерживаемое значение.

Тип:CultureInfo[]
Position:2
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-UseDefaultCredentials

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

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

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

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

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

DirectoryInfo

Объект пути к каталогу можно передать в этот командлет.

PSModuleInfo

Объект модуля можно передать в этот командлет.

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

None

Этот командлет не возвращает выходные данные.

Примечания

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

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

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

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

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

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

Update-Help поддерживает все модули и основные оснастки PowerShell. Она не поддерживает другие оснастки.

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

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

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