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
Используйте командлет, чтобы скачать файлы справки из Интернета и сохранить их в расположении файловой системы, например в общей папке или каталоге файловой системы. Затем используйте параметр Update-Help
SourcePath, чтобы скачать обновленные файлы справки из расположения файловой системы и установить их на компьютере.
Вы можете автоматизировать обновления справки, добавив командлет в 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).
Элемент справки update 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-Help
Verbose не отображает результаты команды. Выходные данные подробных параметров полезны для проверки обновления файлов справки или установки последней версии.
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 (Hashtable).
Например, параметр 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-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 |
-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 |
Входные данные
Вы можете передать путь к каталогу Update-Help
.
Объект модуля можно передать из командлета 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 , чтобы указать имя модуля. Параметр Module командлетов Update-Help
Save-Help
не принимает полный путь к файлу модуля или файлу манифеста модуля.
Любой модуль может поддерживать обновляемую справку. Инструкции по поддержке обновляемой справки в создаваемых модулях см. в разделе "Поддержка обновляемой справки".
Save-Help
Командлеты Update-Help
не поддерживаются в среде предустановки Windows (Windows PE).