CmdID / PowerShell / Cmdlets / Save
Save-Help
Downloads and saves the newest help files to a file system directory. PowerShell reference
From the PowerShell reference 8 parameters
What it does
Downloads and saves the newest help files to a file system directory. The Save-Help cmdlet downloads the newest help files for PowerShell modules and saves them to a directory that you specify. This feature lets you update the help files on computers that don't have access to the internet, and makes it easier to update the help files on multiple computers. This cmdlet was introduced in Windows PowerShell 3.0. Beginning in Windows PowerShell 4.0, you can use Save-Help to download help files for modules that are installed on remote computers. It's also possible to save a PSModuleInfo object using Export-Clixml on a computer that doesn't have internet access, import the object on a computer that does have internet access, and then run Save-Help on the PSModuleInfo object. Once you have the saved help, you can copy it to the remote computer and install it by running Update-Help. This process can be used to install help on computers that don't have any kind of network access. Without parameters, a Save-Help command downloads the newest help for all modules in the session and for modules that are installed on the computer in a location listed in the PSModulePath environment variable. This action skips modules that don't support Updatable Help without warning. The Save-Help cmdlet checks the version of any help files in the destination folder. If newer help files are available, this cmdlet downloads the newest help files from the internet, and then saves them in the folder. The Save-Help cmdlet works just like the Update-Help cmdlet, except that it saves the downloaded content, instead of extracting the help files and installing them on the computer. The saved help for each module consists of one help information (HelpInfo XML) file and a cabinet (.cab) file for the help files in each language. To save the help files for modules in the PowerShell installation folder ($PSHOME\Modules), start PowerShell by using the Run as administrator option. You must be a member of the Administrators group on the computer to download the help files for these modules. To install saved help files, run Update-Help with the SourcePath parameter to specify the folder containing the saved Help files. Update-Help extracts the help files from the archive and installs them on in the appropriate location.
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 the help for the DhcpServer module
# Option 1:
# 1. Run Invoke-Command to get the PSModuleInfo object for the DhcpServer module,
# 2. Save-Help on the PSModuleInfo object to save the help files to a folder on
# the local computer.
$mod = Invoke-Command -ComputerName RemoteServer -ScriptBlock {
Get-Module -Name DhcpServer -ListAvailable
}
Save-Help -Module $mod -DestinationPath C:\SavedHelp
# Option 2:
# 1. Open a PSSession to the remote computer that's running the DhcpServer module
# 2. Get the PSModuleInfo object from the remote computer
# 3. Save-Help on the PSModuleInfo object
$session = New-PSSession -ComputerName "RemoteServer"
$mod = Get-Module -PSSession $session -Name "DhcpServer" -ListAvailable
Save-Help -Module $mod -DestinationPath C:\SavedHelp
# Option 3:
# 1. Open a CimSession to the remote computer that's running the DhcpServer module
# 2. Get the PSModuleInfo object from the remote computer
# 3. Save-Help on the PSModuleInfo object
$cimsession = New-CimSession -ComputerName "RemoteServer"
$mod = Get-Module -CimSession $cimsession -Name "DhcpServer" -ListAvailable
Save-Help -Module $mod -DestinationPath "C:\SavedHelp"IdentifyInstall help for the DhcpServer module
# On the first computer, get the PSModuleInfo object for the module and save it to
# removable media.
Get-Module -Name "DhcpServer" -ListAvailable |
Export-CliXml -Path E:\UsbFlashDrive\DhcpModule.xml
# Move the removable media to a computer that has internet access, and then import the
# PSModuleInfo object. Run Save-Help on the imported PSModuleInfo object and save the help
# files to the removable media.
$moduleInfo = Import-CliXml E:\UsbFlashDrive\DhcpModule.xml
Save-Help -Module $moduleInfo -DestinationPath E:\UsbFlashDrive\SavedHelp
# Finally, move the removable media back to the first computer and install the help.
Update-Help -Module DhcpServer -SourcePath E:\UsbFlashDrive\SavedHelpIdentifySave help for all modules
Save-Help -DestinationPath \\Server01\FileShare01IdentifySave help for a module on the computer
$saveHelpSplat = @{
Module = 'ServerManager'
DestinationPath = '\\Server01\FileShare01'
Credential = 'Domain01/Admin01'
}
Save-Help @saveHelpSplatIdentifySave help for a module on a different computer
Invoke-Command -ComputerName Server02 { Get-Module -Name CustomSQL -ListAvailable } |
Save-Help -DestinationPath \\Server01\FileShare01 -Credential Domain01\Admin01IdentifySave help for a module in multiple languages
$saveHelpSplat = @{
Module = 'Microsoft.PowerShell*'
UICulture = 'de-DE', 'en-US', 'fr-FR', 'ja-JP'
DestinationPath = "D:\Help"
}
Save-Help @saveHelpSplatIdentifySave help more than one time each day
Save-Help -Force -DestinationPath \\Server3\AdminShare\HelpIdentifyIts page in the reference: Save-Help.
Parameters
-CredentialSpecifies a user credential. This cmdlet runs the command by using credentials of a user who has permission to access the file system location specified by the DestinationPath parameter. This parameter is valid only when the DestinationPath or LiteralPath parameter is used in the command.
This parameter enables you to run Save-Help commands that use the DestinationPath parameter on remote computers. By providing explicit credentials, you can run the command on a remote computer and access a file share on a third computer without encountering an access denied error or using CredSSP authentication to delegate credentials.
Credentials are stored in a PSCredential object and the password is stored as a SecureString.
NOTE: For more information about SecureString data protection, see How secure is SecureString?.-DestinationPathSpecifies the path of the folder in which the help files are saved. Don't specify a filename or filename extension.-ForceIndicates that this cmdlet doesn't follow the once-per-day limitation, skips version checking, and downloads files that exceed the 1 GB limit.
Without this parameter, only one Save-Help command for each module is permitted in each 24-hour period, downloads are limited to 1 GB of uncompressed content per module, and help files for a module are installed only when they're newer than the files on the computer.
The once-per-day limit protects the servers that host the help files, and makes it practical for you to add a Save-Help command to your PowerShell profile.
To save help for a module in multiple UI cultures without the Force parameter, include all UI
cultures in the same command, such as:
Save-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR-FullyQualifiedModuleThe value can be a module name, a full module specification, or a path to a module file.
When the value is a path, the path can be fully qualified or relative. A relative path is resolved relative to the script that contains the using statement.
When the value is a name or module specification, PowerShell searches the PSModulePath for the specified module.
A module specification is a hashtable that has the following keys.
- ModuleName - Required Specifies the module name.
- GUID - Optional Specifies the GUID of the module.
- It's also Required to specify at least one of the three below keys.
- ModuleVersion - Specifies a minimum acceptable version of the module.
- MaximumVersion - Specifies the maximum acceptable version of the module.
- RequiredVersion - Specifies an exact, required version of the module. This can't be used with
the other Version keys.
You can't specify the FullyQualifiedModule parameter in the same command as a Module parameter. the two parameters are mutually exclusive.-LiteralPathSpecifies a path of the destination folder. Unlike the value of the DestinationPath parameter, the value of the LiteralPath parameter is used exactly as it's typed. No characters are interpreted as wildcard characters. If the path includes escape characters, enclose it in single quotation marks. Single quotation marks tell PowerShell not to interpret any characters as escape sequences.-ModuleSpecifies modules for which this cmdlet downloads help. Enter one or more module names or name patterns in a comma-separated list or in a file that has one module name on each line. Wildcard characters are permitted. You can also pipe module objects from the Get-Module cmdlet to Save-Help.
By default, Save-Help downloads help for all modules that support Updatable Help and are installed on the local computer in a location listed in the PSModulePath environment variable.
To save help for modules that aren't installed on the computer, run a Get-Module command on a remote computer. Then pipe the resulting module objects to the Save-Help cmdlet or submit the module objects as the value of the Module or InputObject parameters.
If the module that you specify is installed on the computer, you can enter the module name or a module object. If the module isn't installed on the computer, you must enter a module object, such as one returned by the Get-Module cmdlet.
The Module parameter of the Save-Help cmdlet doesn't accept the full path of a module file or module manifest file. …-UICultureSpecifies UI culture values for which this cmdlet gets updated help files. Enter one or more language codes, such as es-ES, a variable that contains culture objects, or a command that gets culture objects, such as a Get-Culture or Get-UICulture command.
Wildcard characters are not permitted. Do not specify a partial language code, such as "de".
By default, Save-Help gets help files in the UI culture set for Windows or its fallback culture. If you specify the UICulture parameter, Save-Help looks for help only for the specified UI culture, not in any fallback culture.-UseDefaultCredentialsIndicates that this cmdlet runs the command, including the web download, with the credentials of the current user. By default, the command runs without explicit credentials.
This parameter is effective only when the web download uses NTLM, negotiate, or Kerberos-based authentication.