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), а не извлекает файлы справки из файлов шкафа и устанавливает их на компьютере.

Сохраненные файлы справки для каждого модуля — это один файл сведений о справке (HelpInfo XML) и по одному 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 .

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

Команда использует параметр 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?".

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

-DestinationPath

Указывает путь к папке, в которой сохраняются файлы справки. Не указывайте имя или расширение файла.

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

-Force

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

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

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

Чтобы сохранить справку для модуля в нескольких языках и региональных параметрах пользовательского интерфейса без параметра Force , включите все региональные параметры пользовательского интерфейса в одну команду, например: Save-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно: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

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

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

-Module

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

По умолчанию Save-Help скачивает справку для всех модулей, поддерживающих обновляемую справку, и устанавливается на локальном компьютере в расположении, указанном в переменной среды PSModulePath .

Чтобы сохранить справку для модулей, которые не установлены на компьютере, выполните Get-Module команду на удаленном компьютере. Затем передайте полученные объекты модуля командлету или отправьте объекты Save-Help модуля в качестве значения параметров Module или InputObject .

Если указанный модуль установлен на компьютере, можно ввести имя модуля или объект модуля. Если модуль не установлен на компьютере, необходимо ввести объект модуля, например объект модуля, возвращенный командлетом Get-Module .

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

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

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

-Scope

Этот параметр ничего не делает в этом командлете.

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

-UICulture

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

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

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

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

-UseDefaultCredentials

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

Этот параметр действует, только если веб-загрузка использует проверку подлинности NTLM, проверку подлинности с согласованием или проверку подлинности Kerberos.

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

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

PSModuleInfo

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

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

None

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

Примечания

  • Чтобы сохранить справку по модулям в папке $pshome\Modules, запустите PowerShell с помощью параметра "Запуск от имени администратора". Только члены группы администраторов на компьютере могут скачать справку по модулям в папке $pshome\Modules.
  • Сохраненные файлы справки для каждого модуля — это один файл сведений о справке (HelpInfo XML) и по одному CAB-файлу для каждого языка пользовательского интерфейса. Вам не нужно извлекать файлы справки из файла шкафа. Командлет Update-Help извлекает файлы справки, проверяет XML, а затем устанавливает файлы справки и файл сведений справки в вложенную папку модуля для конкретного языка.
  • Командлет Save-Help может сохранить справку для модулей, которые не установлены на компьютере. Однако, так как файлы справки установлены в папке модуля, Update-Help командлет может установить обновленный файл справки только для модулей, установленных на компьютере.
  • Если Save-Help не удается найти обновленные файлы справки для модуля или найти обновленные файлы справки на указанном языке, он продолжается без отображения сообщения об ошибке. Чтобы узнать, какие файлы были сохранены командой, укажите подробный параметр.
  • Модули — это наименьшая единица обновляемой справки. Не удается сохранить справку для определенного командлета только для всех командлетов в модуле. Чтобы найти модуль, содержащий определенный командлет, используйте свойство ModuleName вместе с командлетом Get-Command , например (Get-Command \<cmdlet-name\>).ModuleName
  • Save-Help поддерживает все модули и основные оснастки PowerShell. Она не поддерживает другие оснастки.
  • Save-Help Командлеты Update-Help используют следующие порты для скачивания файлов справки: порт 80 для HTTP и порта 443 для HTTPS.
  • Save-Help Командлеты Update-Help не поддерживаются в среде предустановки Windows (Windows PE).