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
, чтобы скачать файлы справки из Интернета и сохранить их в общей папке, доступной системе, не подключенной к Интернету. Затем используйте параметр SourcePathUpdate-Help
, чтобы скачать обновленные файлы справки с общего доступа и установить их на компьютере.
Командлет Update-Help
появился в Windows PowerShell 3.0.
Важный
Update-Help
требуются права администратора в PowerShell 6.0 и ниже. PowerShell 6.1 и более поздних версий задайте области по умолчанию значение CurrentUser
. До PowerShell 6.1 параметр области недоступен.
Чтобы обновить файлы справки для основных модулей 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 DestinationPath сохраняет файлы в общей папке \\Server01\Share\PSHelp
. Параметр учетных данных указывает пользователя, имеющего разрешение на доступ к общей папке.
Командлет Invoke-Command
выполняет команды удаленного Update-Help
на нескольких компьютерах. Параметр ComputerName получает список удаленных компьютеров из файла Servers.txt. Параметр ScriptBlock запускает команду Update-Help
и использует параметр SourcePath для указания общей папки, содержащей обновленные файлы справки. Параметр учетных данных указывает пользователя, который может получить доступ к общей папке и запустить команду удаленного Update-Help
.
Пример 5. Получение списка обновленных файлов справки
Справка по обновлению командлета Update-Help
для указанного модуля. Командлет использует подробный общий параметр для отображения списка обновленных файлов справки. Вы можете использовать подробные для просмотра выходных данных для всех файлов справки или файлов справки для определенного модуля.
Без параметра VerboseUpdate-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.
Параметр учетных данных позволяет выполнять команды 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
. Указывает точную, требуемую версию модуля. Это нельзя использовать с другими ключами версии.
-
Параметр FullyQualifiedModule нельзя указать в той же команде, что и параметр 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 можно указать для установки или обновления справки для всех пользователей. В системах Unix sudo
привилегии требуются для обновления справки для всех пользователей. Например, 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
для скачивания файлов справки из Интернета.
Дополнительные сведения см. в about_Group_Policy_Settings.
Тип: | 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 |
Входные данные
Объект пути к каталогу можно передать в этот командлет.
Объект модуля можно передать в этот командлет.
Выходные данные
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
без параметров или используйте параметр модуля, чтобы указать имя модуля. Параметр модуля командлетов Update-Help
и Save-Help
не принимает полный путь к файлу модуля или файлу манифеста модуля.
Любой модуль может поддерживать обновляемую справку. Инструкции по поддержке обновляемой справки в модулях, которые вы создаете, см. в поддержке обновляемой справки.
Командлеты Update-Help
и Save-Help
не поддерживаются в среде предварительной установки Windows (Windows PE).
Связанные ссылки
PowerShell