PowerShell Logo Small

about_Updatable_Help



This is the built-in help made by Microsoft for the document 'about_Updatable_Help', in PowerShell version 5 - as retrieved from Windows version 'Microsoft Windows Server 2012 R2 Standard' PowerShell help files on 2016-06-24.

For PowerShell version 3 and up, where you have Update-Help, this command was run just before creating the web pages from the help files.

Search powershellhelp.space

about_Updatable_Help
TOPIC
About_Updatable_Help

SHORT DESCRIPTION
Describes the updatable help system in Windows PowerShell.

LONG DESCRIPTION
Windows PowerShell provides several different ways to access
the most up-to-date help topics for Windows PowerShell cmdlets
and concepts.

The Updatable Help system, introduced in Windows PowerShell 3.0,
is designed to assure that you always have the newest help topics
on your local computer so that you can read them at the command
line. It makes it easy to download and install help files and
to update them whenever newer help files become available.

To provide updated help for multiple computers in an enterprise
and for computers that do not have access to the Internet, Updatable
Help lets you download help files to a file system directory or file
share, and then install the help files from the file share.

In Windows PowerShell 4.0, the HelpInfoUri property is preserved over
Windows PowerShell remoting, which allows Save-Help to work for
modules that are installed on a remote computer, but are not
necessarily installed on the local computer. You can save a PSModuleInfo
object to disk or removable media (such as a USB drive) by running
Export-CliXml on a computer that does not have Internet access,
importing the PSModuleInfo object on a computer that does have Internet
access, and then running Save-Help on the PSModuleInfo object. The
saved help can be copied to the remote, disconnected computer by using
removable media, and then installed by running Update-Help. These
improvements in Save-Help functionality let you install help on
computers that are without any kind of network access. For an example
of how to use the new Save-Help functionality, see "HOW TO UPDATE HELP
FROM A FILE SHARE: SAVE-HELP" in this topic.

Updatable Help also supports online access to the newest help topics
and basic help for cmdlets, even when there are no help files on the
computer.

Windows PowerShell 3.0 does not come with Help files. You can use
the Updatable Help feature to install the help files for all of the
commands that are included by default in Windows PowerShell and for
all Windows modules.



UPDATABLE HELP CMDLETS


Update-Help: Downloads the newest help files from the Internet or
a file share, and installs them on the local computer.

Save-Help: Downloads the newest help files from the Internet and
saves them in a file system directory or file share. To
install the help files on computers, use Update-Help.

Get-Help: -- Displays help topics at the command line.
-- Gets help from the help files on the computer.
-- Displays auto-generated help for cmdlets and functions
that do not have help files.
-- Opens online help topics for cmdlets, functions,
scripts, and workflows in your default Internet
browser.


UPDATE HELP IN WINDOWS POWERSHELL ISE
You can also update help by using the "Update Windows PowerShell
Help" item in the Help menu in Windows PowerShell Integrated
Scripting Environment (ISE).

The "Update Windows PowerShell Help" item runs an Update-Help
command without parameters.


AUTO-GENERATED HELP: HELP WITHOUT HELP FILES

If you do not have the help file for a cmdlet, function,
or workflow on the computer, the Get-Help cmdlet displays
auto-generated help and prompts you to download the help
files or read them online.

Auto-generated help includes syntax and aliases, and remarks
that explain how to use the Updatable Help cmdlets and to
access the online help topics.

For example, the following command gets basic help for the
Get-Culture cmdlet. The output shows the Get-Help display
when there are no help files on the computer.

PS C:\> Get-Help Get-Culture

NAME
Get-Culture

SYNTAX
Get-Culture [<CommonParameters>]

ALIASES
None

REMARKS
To get the latest Help content including descriptions
and examples type: Update-Help.



HELP FILES FOR MODULES

The smallest unit of Updatable Help is help for a module. Module
help includes help for all of the cmdlets, functions, workflows,
providers, scripts, and concepts in a module. You can update help
for all modules that are installed on the computer, even if they
are not imported into the current session.

You can update help for the entire module, but you cannot update
help for individual cmdlets.



To find the module that contains a particular cmdlet, use the
following command format:

(Get-Command <cmdlet-name>).ModuleName

For example, to find the module that contains the Set-ExecutionPolicy
cmdlet, type:

(Get-Command Set-ExecutionPolicy).ModuleName

To update help for a particular module, type:

Update-Help -Module <ModuleName>

For example, to update help for the module that contains the
Set-ExecutionPolicy cmdlet, type:

Update-Help -Module Microsoft.PowerShell.Security




PERMISSIONS FOR UPDATABLE HELP

To update help for the modules in the $pshome\Modules directory,
you must be member of the Administrators group on the computer.

If you are not a member of the Administrators group, you cannot
update help for these modules; but if you have Internet access,
you can view help online in the TechNet Library.

Updating help for modules in the
$home\Documents\WindowsPowerShell\Modules
directory or modules in other subdirectories of the $home
directory do not require special permissions.

The Update-Help and Save-Help cmdlets have a UseDefaultCredentials
parameter that provides the explicit credentials of the current
user. This parameter is designed for accessing secure Internet
locations.

The Update-Help and Save-Help cmdlets also have a Credential
parameter that allows you to run the command on a remote
computer and access a file share on a third computer. The
Credential parameter is valid only when you use the SourcePath
or LiteralPath parameters of Update-Help and the DestinationPath
or LiteralPath parameters of Save-Help.


HOW TO INSTALL AND UPDATE HELP FILES

To download and install help files for the first time, or to update
the help files on your computer, use the Update-Help cmdlet.

The Update-Help cmdlet does all of the hard work for you, including
the following tasks.

-- Determines which modules support Updatable Help.
-- Finds the Internet location where each module stores its
Updatable Help files.
-- Compares the help files for each module on your computer to
the newest help files that are available for each module.
-- Downloads the new files from the Internet.
-- Unwraps the help file package.
-- Verifies that the files are valid help files.
-- Installs the help files in the language-specific subdirectory
of the module directory.

To access the new help topics, use the Get-Help cmdlet. You do not
need to restart Windows PowerShell.

To install or update help for all modules on the computer that
supports Updatable Help, type:

Update-Help

To update help for particular modules, add the Module parameter
of Update-Help. Wildcard characters are permitted in the module name.

For example, to update help for the ServerManager module, type:

Update-Help -Module ServerManager


NOTES
Without parameters, Update-Help updates help for all modules
in the session and for all installed modules that support
Updatable Help. To be included, modules must be installed in
directories that are listed in the value of the PSModulePath
environment variable. These are also modules that
are returned by a "Get-Help -ListAvailable" command.

If the value of the Module parameter is * (all), Update-Help
attempts to update help for all installed modules, including
modules that do not support Updatable Help. This command
typically generates many errors as the cmdlet encounters modules
that do not support Updatable Help.


HOW TO UPDATE HELP FROM A FILE SHARE: SAVE-HELP

To support computers that are not connected to the Internet,
or to control or streamline help updating in an enterprise,
use the Save-Help cmdlet. The Save-Help cmdlet downloads help
files from the Internet and saves them in a file system directory
that you specify.

Save-Help compares the help files in the specified directory to
the newest help files that are available for each module. If the
directory has no help files or newer help files are available for
the module, the Save-Help cmdlet downloads the new files from the
Internet. However, it does not unwrap or install the help files.

To install or update the help files on a computer from help
files that were saved to a file system directory, use the
SourcePath parameter of the Update-Help cmdlet. The Update-Help
cmdlet identifies the newest help files, unwraps and validates them,
and installs them in the language-specific subdirectories of the
module directories.



For example, to save help for all installed modules to the
\\Server\Share directory, type:

Save-Help -DestinationPath \\Server\Share

Then, to update help from the \\Server\Share directory, type:

Update-Help -SourcePath \\Server\Share

The following examples show the use of Save-Help to save help
for modules that are not installed on the local computer. In
this example, the administrator runs Save-Help to save the help
for the DhcpServer module from an Internet-connected client computer,
without installing the DhcpServer module or DHCP Server role on the
local computer.

# Option 1: Run Invoke-Command to get the PSModuleInfo object for
the remote module, save it in a variable, $m, and then run Save-Help
on the PSModuleInfo object by specifying the variable $m as the
module name.

$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 computer that is
running the DHCP Server module, to get the PSModuleInfo object for
the module, save it in a variable $m, and then run Save-Help on the
object that is saved in the $m variable.

$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 computer that is
running the DHCP Server module, to get the PSModuleInfo object for
the module, save it in a variable $m, and then run Save-Help on the
object that is saved in the $m variable.

$c = New-CimSession -ComputerName RemoteServer
$m = Get-Module -CimSession $c -Name DhcpServer -ListAvailable
Save-Help -Module $m -DestinationPath C:\SavedHelp

In the following example, the administrator installs help for the
DHCP Server module on a computer that does not have network access.

# 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


NOTES:
Without parameters, Save-Help downloads help for all modules
in the session and for all installed modules that support
Updatable Help. To be included, modules must be installed in
directories that are listed in the value of the PSModulePath
environment variable, on either the local computer or on a remote
computer for which you want to save help. These are also modules
that are returned by running a "Get-Help -ListAvailable" command.


HOW TO UPDATE HELP FILES IN DIFFERENT LANGUAGES

By default, the Update-Help and Save-Help cmdlets download
help in the UI culture and language that is set for Windows
on the local computer. If help files for the specified modules
are not available in the local UI culture, Update-Help and
Save-Help use the Windows language fallback rules to find the
best supported language.

However, you can use the UICulture parameters of the Update-Help
and Save-Help cmdlets to download and install help files in any
UI cultures in which they are available.

For example, to save the newest help files for all modules on
the session in Japanese (Ja-jp) and French (fr-FR), type:

Save-Help -Path \\Server\Share -UICulture ja-jp, fr-fr

If help files for the modules are not available in the languages
that you specified, the Update-Help and Save-Help cmdlets return
an error message that lists the languages in which help for each
module is available so you can choose the alternative that best
meets your needs.


HOW TO UPDATE HELP AUTOMATICALLY

To assure that you always have the newest help files, you can
add an Update-Help command to your Windows PowerShell profile.

An internal quota prevents the Update-Help command from running
more than once each day. To override the once-per-day maximum,
use the Force parameter.

Use a command like the following one in your profile. This command
updates help for all installed modules in a background job so it
doesn't disturb your work. It uses an Out-Null command to suppress
the job that is returned and any error messages that would otherwise
appear when you use the command more than once per day.

Start-Job {Update-Help} | Out-Null

You can also create a scheduled job that runs the Update-Help or
Save-Help cmdlet at any interval.

For example, the following command creates a scheduled job that runs an
Update-Help help command every Friday at 5:00 AM. To run this command,
start Windows PowerShell with the "Run as administrator" option.

Register-ScheduledJob -Name UpdateHelpJob -ScriptBlock {Update-Help} `
-Trigger (New-JobTrigger -Weekly -DaysOfWeek Friday -At "5:00 AM")

For more information about scheduled jobs, see about_Scheduled_Jobs.


HOW TO USE ONLINE HELP

If you cannot or choose not to update the help files on your
local computer, you can still get the newest help files online.

To open the online help topic for any cmdlet or function, use
the Online parameter of the Get-Help cmdlet.

For example, the following command opens the online help topic
for the Get-Job cmdlet in your default Internet browser:

Get-Help Get-Job -Online
-or-
Get-Help -on Get-Job

To get online help for a script, use the Online parameter and
the full path to the script.

The Online parameter does not work with About topics. To see
the about topics for Windows PowerShell Core, including help
topics about the Windows PowerShell language, see "Windows
PowerShell Core Module About Topics" at
http://go.microsoft.com/fwlink/?LinkID=113206.


HOW TO MINIMIZE OR PREVENT INTERNET DOWNLOADS
To minimize Internet downloads and provide Updatable Help to
users who are not connected to the Internet, use the Save-Help
cmdlet. Download help from the Internet and save it to a network
share. Then, create a Group Policy setting or scheduled job that
runs an Update-Help command on all computers. Set the value of
the SourcePath parameter of the Update-Help cmdlet to the network
share.

To prevent users who have Internet access from downloading Updatable
Help from the Internet, use the "Set the default source path for
Update-Help" Group Policy setting.

This Group Policy setting implicitly adds the SourcePath parameter,
with the file system location that you specify, to every Update-Help
command on every affected computer. Users can use the SourcePath
parameter explicitly to specify a different file system location, but
they cannot exclude the SourcePath parameter and download help from
the Internet.

NOTE: The "Set the default source path for Update-Help" group
policy setting appears under Computer Configuration and
User Configuration. However, only the policy setting
under Computer Configuration is effective. The policy
setting under User Configuration is ignored.

For more information, see about_Group_Policy_Settings.


HOW TO UPDATE HELP FOR NON-STANDARD MODULES
To update or save help for a module that is not returned
by the ListAvailable parameter of the Get-Module cmdlet,
import the module into the current session before running
an Update-Help or Save-Help command. On a remote computer,
before running the Save-Help command, import the module into
the current CIM or PSSession--or Invoke-Command script block--
that is connected to the remote computer.

When the module is in the current session, run the Update-Help
or Save-Help cmdlets without parameters, or use the Module
parameter to specify the module name.

The Module parameters of the Update-Help and Save-Help
cmdlets accept only a module name. They do not accept the
path to a module file.

Use this technique to update or save help for any module
that is not returned by the ListAvailable parameter of the
Get-Module cmdlet, such as a module that is installed in a
location that is not listed in the PSModulePath environment
variable, or a module that is not well-formed (the module
directory does not contain at least one file whose base name
is the same as the directory name).


HOW TO SUPPORT UPDATABLE HELP

If you author a module, you can support online help and
Updatable Help for your modules. For more information, see
"Supporting Updatable Help" and "Supporting Online Help"
in the MSDN Library.

Updatable help not available for Windows PowerShell snap-ins
or comment-based help.

KEYWORDS
About_Updateable_Help

REMARKS
The Update-Help and Save-Help cmdlets are not supported on
Windows Preinstallation Environment (Windows PE).

SEE ALSO
Get-Help
Save-Help
Update-Help
Updatable Help Status Table
(http://go.microsoft.com/fwlink/?LinkID=270007)