Save-Help
Скачивает и сохраняет последние файлы справки в каталог файловой системы.
Синтаксис
Save-Help
[-DestinationPath] <String[]>
[[-Module] <PSModuleInfo[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[[-UICulture] <CultureInfo[]>]
[-Credential <PSCredential>]
[-UseDefaultCredentials]
[-Force]
[-Scope <UpdateHelpScope>]
[<CommonParameters>]
Save-Help
-LiteralPath <String[]>
[[-Module] <PSModuleInfo[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[[-UICulture] <CultureInfo[]>]
[-Credential <PSCredential>]
[-UseDefaultCredentials]
[-Force]
[-Scope <UpdateHelpScope>]
[<CommonParameters>]
Описание
Командлет Save-Help
скачивает новейшие файлы справки для модулей PowerShell и сохраняет их в указанный каталог. Эта функция позволяет обновлять файлы справки на компьютерах без доступа к Интернету и упрощает обновление файлов справки на нескольких компьютерах.
В Windows PowerShell 3.0 работал только для модулей, Save-Help
установленных на локальном компьютере. Хотя можно было импортировать модуль с удаленного компьютера или получить ссылку на объект PSModuleInfo с удаленного компьютера с помощью удаленного взаимодействия PowerShell, свойство HelpInfoUri не сохранилось и Save-Help
не будет работать для справки удаленного модуля.
В Windows PowerShell 4.0 свойство HelpInfoUri сохраняется при удаленном взаимодействии PowerShell, что позволяет работать с модулямиSave-Help
, установленными на удаленных компьютерах. Можно также сохранить объект PSModuleInfo на диск или съемный носитель, запустив Export-Clixml
на компьютере, который не имеет доступа к Интернету, импортировать объект на компьютере с доступом к Интернету, а затем выполнить на Save-Help
объекте PSModuleInfo . Сохраненную справку можно перенести на удаленный компьютер с помощью съемного носителя, например USB-накопителя. Справку можно установить на удаленном компьютере, запустив Update-Help
. Этот процесс можно использовать для установки справки на компьютерах без доступа к какой-либо сети.
Чтобы установить сохраненные файлы справки Update-Help
, выполните командлет . Добавьте параметр SourcePath , чтобы указать папку, в которой сохранены файлы справки.
Без параметров Save-Help
команда скачивает последнюю справку для всех модулей в сеансе и модулей, установленных на компьютере в расположении, указанном в переменной среды PSModulePath . Это действие пропускает модули, которые не поддерживают обновляемую справку без предупреждения.
Командлет Save-Help
проверяет версию всех файлов справки в конечной папке. Если доступны новые файлы справки, этот командлет скачивает последние файлы справки из Интернета, а затем сохраняет их в папке . Командлет Save-Help
работает так же, как Update-Help
командлет , за исключением того, что он сохраняет скачанные файлы кабинетов (.cab), а не извлекает файлы справки из cab-файлов и устанавливает их на компьютере.
Сохраненные файлы справки для каждого модуля — это один файл сведений о справке (HelpInfo XML) и по одному CAB-файлу для каждого языка пользовательского интерфейса. Вам не нужно извлекать файлы справки из cab-файла. Командлет Update-Help
извлекает файлы справки, проверяет XML на безопасность, а затем устанавливает файлы справки и файл сведений справки во вложенную папку модуля для конкретного языка.
Чтобы сохранить файлы справки для модулей в папке установки PowerShell ($pshome\Modules
), запустите PowerShell с помощью параметра Запуск от имени администратора. Для загрузки файлов справки для этих модулей необходимо быть членом группы администраторов на компьютере.
Этот командлет впервые появился в Windows PowerShell 3.0.
Примеры
Пример 1. Сохранение справки по модулю DhcpServer
# Option 1: Run Invoke-Command to get the PSModuleInfo object for the remote DHCP Server module,
# save the PSModuleInfo object in the variable $m, and then run Save-Help.
$m = Invoke-Command -ComputerName RemoteServer -ScriptBlock { Get-Module -Name DhcpServer -ListAvailable }
Save-Help -Module $m -DestinationPath "C:\SavedHelp"
# Option 2: Open a PSSession--targeted at the remote computer that is running the DhcpServer
# module--to get the PSModuleInfo object for the remote module, and then run Save-Help.
$s = New-PSSession -ComputerName "RemoteServer"
$m = Get-Module -PSSession $s -Name "DhcpServer" -ListAvailable
Save-Help -Module $m -DestinationPath "C:\SavedHelp"
# Option 3: Open a CIM session--targeted at the remote computer that is running the DhcpServer
# module--to get the PSModuleInfo object for the remote module, and then run Save-Help.
$c = New-CimSession -ComputerName "RemoteServer"
$m = Get-Module -CimSession $c -Name "DhcpServer" -ListAvailable
Save-Help -Module $m -DestinationPath "C:\SavedHelp"
В этом примере показаны три разных способа сохранения Save-Help
справки для модуля DhcpServer с клиентского компьютера, подключенного к Интернету, без установки модуля DhcpServer или роли DHCP-сервера на локальном компьютере.
Пример 2. Установка справки для модуля DhcpServer
# First, run Export-CliXml to export the PSModuleInfo object to a shared folder or to removable media.
$m = Get-Module -Name "DhcpServer" -ListAvailable
Export-CliXml -Path "E:\UsbFlashDrive\DhcpModule.xml" -InputObject $m
# Next, transport the removable media to a computer that has Internet access, and then import the
# PSModuleInfo object with Import-CliXml. Run Save-Help to save the Help for the imported DhcpServer
# module PSModuleInfo object.
$deserialized_m = Import-CliXml "E:\UsbFlashDrive\DhcpModule.xml"
Save-Help -Module $deserialized_m -DestinationPath "E:\UsbFlashDrive\SavedHelp"
# Finally, transport the removable media back to the computer that does not have network access, and
# then install the help by running Update-Help.
Update-Help -Module DhcpServer -SourcePath "E:\UsbFlashDrive\SavedHelp"
В этом примере показано, как установить справку, сохраненную в примере 1, для модуля DhcpServer на компьютере без доступа к Интернету.
Пример 3. Сохранение справки по всем модулям
Save-Help -DestinationPath "\\Server01\FileShare01"
Эта команда загружает последние файлы справки для всех модулей для языка Windows на локальном компьютере. Файлы справки сохраняются в папке \\Server01\Fileshare01
.
Пример 4. Сохранение справки для модуля на компьютере
Save-Help -Module ServerManager -DestinationPath "\\Server01\FileShare01" -Credential Domain01/Admin01
Эта команда скачивает новейшие файлы справки для модуля ServerManager , а затем сохраняет их в папке \\Server01\Fileshare01
.
Если модуль установлен на компьютере, можно ввести имя модуля в параметре Module, даже если модуль не импортируется в текущий сеанс.
Команда использует параметр Credential, чтобы передать учетные данные пользователя с разрешением на запись в общую папку.
Пример 5. Сохранение справки для модуля на другом компьютере
Invoke-Command -ComputerName Server02 {Get-Module -Name CustomSQL -ListAvailable} | Save-Help -DestinationPath \\Server01\FileShare01 -Credential Domain01\Admin01
Эти команды загружают новейшие файлы справки для модуля CustomSQL и сохраняют их в папке \\Server01\Fileshare01
.
Так как модуль CustomSQL не установлен на компьютере, последовательность включает Invoke-Command
команду, которая получает объект модуля CustomSQL с компьютера Server02, а затем передает объект модуля в Save-Help
командлет .
Если модуль не установлен на компьютере, Save-Help
требуется объект модуля, который содержит сведения о расположении новейших файлов справки.
Пример 6. Сохранение справки по модулю на нескольких языках
Save-Help -Module Microsoft.PowerShell* -UICulture de-DE, en-US, fr-FR, ja-JP -DestinationPath "D:\Help"
Эта команда сохраняет справку по основным модулям PowerShell в четырех разных языках пользовательского интерфейса. Языковые пакеты для этих языковых стандартов не обязательно устанавливать на компьютере.
Save-Help
может скачивать файлы справки для модулей в различных языках и региональных параметрах пользовательского интерфейса, только если владелец модуля делает переведенные файлы доступными в Интернете.
Пример 7. Сохранение справки несколько раз в день
Save-Help -Force -DestinationPath "\\Server3\AdminShare\Help"
Эта команда сохраняет справку для всех модулей, которые установлены на компьютере. Команда задает параметр Force , чтобы переопределить правило, которое не позволяет командлету Save-Help
скачивать справку несколько раз за каждый 24-часовой период.
Параметр Force также переопределяет ограничение в 1 ГБ и обходит проверку версии. Таким образом, вы можете скачать файлы, даже если версия не выше версии в целевой папке.
Команда использует командлет для Save-Help
скачивания и сохранения файлов справки в указанной папке.
Параметр Force является обязательным, если необходимо выполнять Save-Help
команду несколько раз в день.
Параметры
-Credential
Указывает учетные данные пользователя. Этот командлет выполняет команду с использованием учетных данных пользователя, имеющего разрешение на доступ к расположению файловой системы, заданному параметром DestinationPath . Этот параметр доступен, только если в команде используется параметр DestinationPath или LiteralPath.
Этот параметр позволяет выполнять Save-Help
команды, использующие параметр DestinationPath на удаленных компьютерах. Указав явные учетные данные, вы можете выполнить команду на удаленном компьютере и получить доступ к общей папке на третьем компьютере без ошибки отказа в доступе или использования проверки подлинности CredSSP для делегирования учетных данных.
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential , созданный командлетом Get-Credential
. Если вы вводите имя пользователя, вам будет предложено ввести пароль.
Учетные данные хранятся в объекте PSCredential , а пароль хранится как SecureString.
Примечание
Дополнительные сведения о защите данных SecureString см. в разделе Насколько безопасно SecureString?.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DestinationPath
Указывает путь к папке, в которой сохраняются файлы справки. Не указывайте имя или расширение файла.
Type: | String[] |
Aliases: | Path |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Указывает, что этот командлет не соответствует ограничению один раз в день, пропускает проверку версии и скачивает файлы, превышающие ограничение в 1 ГБ.
Без этого параметра только одна Save-Help
команда для каждого модуля разрешена в течение каждого 24-часового периода, загрузка ограничена 1 ГБ несжатого содержимого на модуль, а файлы справки для модуля устанавливаются только в том случае, если они новее файлов на компьютере.
Ограничение раз в день защищает серверы, на которых размещаются файлы справки, и позволяет добавить Save-Help
команду в профиль PowerShell.
Чтобы сохранить справку по модулю в нескольких языках и региональных параметрах пользовательского интерфейса без параметра Force , включите все языки и региональные параметры пользовательского интерфейса в одну команду, например: Save-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
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
Указывает путь к конечной папке. В отличие от значения параметра DestinationPath значение параметра LiteralPath используется именно в том виде, в котором оно вводится. Никакие символы не распознаются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки предписывают PowerShell не интерпретировать какие-либо символы как escape-последовательности.
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Module
Указывает модули, для которых этот командлет скачивает справку. Введите одно или несколько имен модулей или имен в списке, разделенном запятыми, или в файле с одним именем модуля в каждой строке. Можно использовать подстановочные знаки. Вы также можете передать Save-Help
объекты модуля из командлета в Get-Module
.
По умолчанию загружает справку для всех модулей, Save-Help
которые поддерживают обновляемую справку и устанавливаются на локальный компьютер в расположении, указанном в переменной среды PSModulePath .
Чтобы сохранить справку для модулей, которые не установлены на компьютере, выполните Get-Module
команду на удаленном компьютере. Затем передайте полученные объекты модуля командлету Save-Help
или отправьте объекты модуля в качестве значения параметров Module или InputObject .
Если указанный модуль установлен на компьютере, можно ввести имя модуля или объект модуля. Если модуль не установлен на компьютере, необходимо ввести объект модуля, например объект, возвращенный командлетом Get-Module
.
Параметр Module командлета Save-Help
не принимает полный путь к файлу модуля или файлу манифеста модуля. Чтобы сохранить справку для модуля, который не находится в расположении PSModulePath , импортируйте модуль в текущий сеанс перед выполнением Save-Help
команды .
Значение "*" (все) пытается обновить справку для всех модулей, установленных на компьютере. Сюда входят модули, которые не поддерживают обновляемую справку. Это значение может привести к ошибкам, когда команда обнаруживает модули, которые не поддерживают обновляемую справку.
Type: | PSModuleInfo[] |
Aliases: | Name |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Scope
Этот параметр не выполняет никаких действий в этом командлете.
Type: | UpdateHelpScope |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-UICulture
Задает значения языка и региональных параметров пользовательского интерфейса, для которых этот командлет получает обновленные файлы справки. Введите один или несколько кодов языка, например es-ES
, переменную, содержащую объекты языка и региональных параметров, или команду, которая получает объекты языка и региональных параметров, например Get-Culture
команду или Get-UICulture
.
Подстановочные знаки не допускаются. Не указывайте код частичного языка, например "de".
По умолчанию Save-Help
получает файлы справки в наборе языка и региональных параметров пользовательского интерфейса для Windows или его резервных языках и региональных параметрах.
Если указан параметр UICulture , Save-Help
ищет справку только для указанного языка и региональных параметров пользовательского интерфейса, но не в каких-либо резервных языках и региональных параметрах.
Type: | CultureInfo[] |
Position: | 2 |
Default value: | Current UI culture |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseDefaultCredentials
Указывает, что этот командлет выполняет команду, включая веб-загрузку, с учетными данными текущего пользователя. По умолчанию команда выполняется без явных учетных данных.
Этот параметр действует, только если веб-загрузка использует проверку подлинности NTLM, проверку подлинности с согласованием или проверку подлинности Kerberos.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
Объект модуля можно передать в этот командлет.
Выходные данные
None
Этот командлет не возвращает выходные данные.
Примечания
- Чтобы сохранить справку по модулям в папке $pshome\Modules, запустите PowerShell с помощью параметра Запуск от имени администратора. Только члены группы "Администраторы" на компьютере могут скачивать справку по модулям в папке $pshome\Modules.
- Сохраненные файлы справки для каждого модуля — это один файл сведений о справке (HelpInfo XML) и по одному CAB-файлу для каждого языка пользовательского интерфейса. Вам не нужно извлекать файлы справки из cab-файла. Командлет
Update-Help
извлекает файлы справки, проверяет XML,а затем устанавливает файлы справки и файл сведений справки во вложенную папку модуля для конкретного языка. - Командлет
Save-Help
может сохранить справку для модулей, которые не установлены на компьютере. Однако, так как файлы справки устанавливаются в папке модуля,Update-Help
командлет может установить обновленный файл справки только для модулей, установленных на компьютере. - Если
Save-Help
не удается найти обновленные файлы справки для модуля или не удается найти обновленные файлы справки на указанном языке, он продолжается без вывода сообщения об ошибке. Чтобы узнать, какие файлы были сохранены командой, укажите параметр Verbose . - Модули — это наименьшая единица обновляемой справки. Вы не можете сохранить справку для определенного командлета, только для всех командлетов в модуле. Чтобы найти модуль, содержащий определенный командлет, используйте свойство ModuleName вместе с командлетом
Get-Command
, например:(Get-Command \<cmdlet-name\>).ModuleName
Save-Help
поддерживает все модули и основные оснастки PowerShell. Он не поддерживает другие оснастки.- Командлеты
Update-Help
иSave-Help
используют следующие порты для скачивания файлов справки: порт 80 для HTTP и порт 443 для HTTPS. - Командлеты
Update-Help
иSave-Help
не поддерживаются в среде предустановки Windows (Windows PE).