Save-Help

Getting Started with Save-Help in PowerShell

Welcome back to Wahmans PowerShell Blog! Today we’re diving into a handy cmdlet that often gets overlooked but is extremely useful in both small lab environments and large enterprise setups — Save-Help.

Save-Help is a PowerShell cmdlet that downloads and saves the most current Help files for PowerShell modules to a specified directory. This is particularly useful for environments that don’t have internet access, or when you want to create an internal Help repository.

Why Use Save-Help?

  • Avoid hitting the internet multiple times for Help content
  • Create a centralized repository of Help files
  • Support offline systems or secure environments with no outbound connectivity

Syntax

Save-Help [-Module ] [-DestinationPath]  [-Force] [-UICulture ] [-Credential ] []

Examples

Example 1: Save Help for All Installed Modules

If you’re just getting started and want to update all your help files, this is the basic use case.

Save-Help -DestinationPath "C:\HelpFiles"

This command downloads the latest Help content for all installed modules and saves them in C:\HelpFiles.

Example 2: Save Help for Specific Modules

This is useful if you have a large number of modules and only want to update specific ones.

Save-Help -Module "Microsoft.PowerShell.Utility", "Microsoft.PowerShell.Management" -DestinationPath "C:\HelpFiles"

This command saves Help files only for the specified modules.

Example 3: Use Credentialed Access for Proxy Servers

In a network environment secured with authentication, use credentials:

$cred = Get-Credential
Save-Help -Module "PSReadline" -DestinationPath "C:\HelpFiles" -Credential $cred

This will prompt you for a username and password, then use those credentials to access the internet if necessary.

Example 4: Automate Save-Help for Offline Deployment

This example is great for admins managing multiple servers without internet access. Automate the download process on a connected machine and push the updates to offline systems.

# Save help on internet-connected system
Save-Help -DestinationPath "\\FileServer\HelpRepo" -Force

# Copy to offline systems via script or GPO
Invoke-Command -ComputerName Server01 -ScriptBlock {
    Update-Help -SourcePath "\\FileServer\HelpRepo" -Force
}

This creates a repeatable and scripted way to ensure help files are always up-to-date on any system, regardless of network connectivity.

Wrap-Up

Whether you’re just learning PowerShell or deeply involved in enterprise automation, Save-Help is a tool worth knowing. It’s simple yet powerful, especially when managing environments at scale or in security-sensitive contexts.

Happy scripting, and I will see you in the next post!

Leave a Reply

Your email address will not be published. Required fields are marked *