Save-Help

Скачивает и сохраняет последние файлы справки в каталог файловой системы.

Синтаксис

Save-Help
    [-DestinationPath] <String[]>
    [[-Module] <PSModuleInfo[]>]
    [-FullyQualifiedModule <ModuleSpecification[]>]
    [[-UICulture] <CultureInfo[]>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-Force]
    [<CommonParameters>]
Save-Help
    -LiteralPath <String[]>
    [[-Module] <PSModuleInfo[]>]
    [-FullyQualifiedModule <ModuleSpecification[]>]
    [[-UICulture] <CultureInfo[]>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-Force]
    [<CommonParameters>]

Описание

Командлет Save-Help скачивает новейшие файлы справки для модулей PowerShell и сохраняет их в указанный каталог. Эта функция позволяет обновлять файлы справки на компьютерах без доступа к Интернету и упрощает обновление файлов справки на нескольких компьютерах.

В Windows PowerShell 3.0 функция "Сохранить-справка" работала только для модулей, установленных на локальном компьютере. Хотя можно было импортировать модуль с удаленного компьютера или получить ссылку на объект PSModuleInfo с удаленного компьютера с помощью удаленного взаимодействия PowerShell, свойство HelpInfoUri не сохранялось, и save-Help не будет работать для удаленной справки по модулю.

В Windows PowerShell 4.0 свойство HelpInfoUri сохраняется при удаленном взаимодействии PowerShell, что позволяет сохранять и работать с модулями, установленными на удаленных компьютерах. Кроме того, можно сохранить объект 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"

В этом примере показаны три разных способа сохранения справки для модуля 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 Core в четырех разных языках и региональных параметрах пользовательского интерфейса. Языковые пакеты для этих языковых стандартов не обязательно должны быть установлены на компьютере.

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 для делегирования учетных данных.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DestinationPath

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

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Force

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

Без этого параметра в течение 24 часов команду Save-Help можно выполнить только один раз для каждого модуля, размер загружаемых файлов не превышает 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

Указывает модули с именами, указанными в виде объектов ModuleSpecification. Это описано в разделе "Примечания" конструктора ModuleSpecification (Hashtable) в библиотеке MSDN. Например, параметр 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

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

Type:String[]
Aliases:PSPath
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Module

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

По умолчанию 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

-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

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

PSModuleInfo

Объект модуля можно передать из командлета Get-Module в параметр Moduleфайла Save-Help.

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

None

Этот командлет не формирует никаких выходных данных.

Примечания

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