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, чтобы пропустить проверка версии. Используйте параметр Verbose для просмотра сведений о состоянии и ходе выполнения. Используйте параметр Module для обновления файлов справки для определенного модуля.
Вы также можете использовать 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
если не используется параметр UICulture .
В этом примере выполняется в системе, Update-Help
для которой задан языковой en-GB
стандарт.
Update-Help Microsoft.PowerShell.Utility -Force
Update-Help Microsoft.PowerShell.Utility -Force -UICulture en-GB
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 для отображения списка обновленных файлов справки. Вы можете использовать verbose для просмотра выходных данных для всех файлов справки или файлов справки для определенного модуля.
Без параметра Update-Help
Verbose не отображает результаты команды. Выходные данные параметра Verbose полезны для проверки того, обновлены ли файлы справки или установлена ли последняя версия.
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
Запрос подтверждения перед выполнением командлета.
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 для делегирования учетных данных.
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential , созданный командлетом Get-Credential
. Если вы вводите имя пользователя, вам будет предложено ввести пароль.
Учетные данные хранятся в объекте PSCredential , а пароль хранится как SecureString.
Примечание
Дополнительные сведения о защите данных SecureString см. в разделе Насколько безопасно SecureString?.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
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
Значением может быть имя модуля, полная спецификация модуля или путь к файлу модуля.
Если значением является путь, путь может быть полным или относительным. Относительный путь разрешается относительно скрипта, содержащего оператор using.
Если значением является имя или спецификация модуля, PowerShell выполняет поиск указанного модуля в PSModulePath .
Спецификация модуля — это хэш-таблице со следующими ключами.
ModuleName
- Обязательно Указывает имя модуля.GUID
- Дополнительные Указывает GUID модуля.- Кроме того, необходимо указать по крайней мере один из трех приведенных ниже ключей.
ModuleVersion
— задает минимальную допустимую версию модуля.MaximumVersion
— задает максимально допустимую версию модуля.RequiredVersion
— указывает точную требуемую версию модуля. Его нельзя использовать с другими ключами версии.
Вы не можете указать параметр 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, LP |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Module
Обновляет справку для указанных модулей. Введите одно или несколько имен модулей или шаблонов имен в списке, разделенном запятыми, или укажите файл с одним именем модуля в каждой строке. Можно использовать подстановочные знаки. Модули можно конвейерировать из командлета в Get-Module
Update-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 |
-Scope
Указывает системный область, в котором обновляется справка. Обновления в область AllUsers требуются права администратора в системах Windows. Параметр -Scope
появился в PowerShell Core версии 6.1.
CurrentUser — это область по умолчанию для файлов справки в PowerShell 6.1 и более поздних версиях. AllUsers можно указать для установки или обновления справки для всех пользователей. В системах sudo
Unix для обновления справки для всех пользователей требуются привилегии. Пример: sudo pwsh -c Update-Help
Допустимые значения:
- CurrentUser
- Allusers
Type: | UpdateHelpScope |
Position: | Named |
Default value: | CurrentUser |
Required: | False |
Accept pipeline input: | True |
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[] |
Aliases: | Path |
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
ищет справку только для указанного языка и региональных параметров пользовательского интерфейса.
Примечание
Ubuntu 18.04 изменил языковой стандарт по умолчанию на C.UTF.8
, который не является распознаваемым языком и региональными параметрами пользовательского интерфейса. Update-Help
Автоматически не удается скачать справку, если вы не используете этот параметр с поддерживаемым языковым стандартом, например en-US
. Это может произойти на любой платформе, которая использует неподдерживаемое значение.
Команды, которые используют параметр 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 |
Входные данные
Вы можете передать объект пути к каталогу в этот командлет.
Объект модуля можно передать в этот командлет по конвейеру.
Выходные данные
None
Этот командлет не возвращает выходные данные.
Примечания
Чтобы обновить справку по основным модулям PowerShell, которые содержат команды, установленные вместе с PowerShell или любым модулем в каталоге $PSHOME\Modules
, запустите PowerShell с параметром Запуск от имени администратора.
Только члены группы "Администраторы" на компьютере могут обновлять справку для основных модулей PowerShell, команд, установленных вместе с PowerShell, а также для модулей в папке $PSHOME\Modules
. Если у вас нет разрешения на обновление файлов справки, вы можете прочитать файлы справки в Интернете. Например, Get-Help Update-Help -Online
.
Модули — это наименьшая единица обновляемой справки. Вы не можете обновить справку для определенного командлета. Чтобы найти модуль, содержащий конкретный командлет, используйте свойство ModuleName командлета Get-Command
, например (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.
Командлеты Update-Help
и Save-Help
используют следующие порты для скачивания файлов справки: порт 80 для HTTP и порт 443 для HTTPS.
Update-Help
поддерживает все модули и основные оснастки PowerShell. Другие оснастки не поддерживаются.
Чтобы обновить справку для модуля в расположении, которое не указано в $env:PSModulePath
переменной среды, импортируйте модуль в текущий сеанс и выполните Update-Help
команду. Выполните команду Update-Help
без параметров или используйте параметр Module , чтобы указать имя модуля. Параметр Update-Help
Module командлетов и Save-Help
не принимает полный путь к файлу модуля или файлу манифеста модуля.
Любой модуль может поддерживать обновляемую справку. Инструкции по поддержке обновляемой справки в модулях, которые вы создаете, см. в разделе Поддержка обновляемой справки.
Командлеты Update-Help
и Save-Help
не поддерживаются в среде предустановки Windows (Windows PE).