about_Updatable_Help
簡単な説明
PowerShell の更新可能なヘルプ システムについて説明します。
長い説明
PowerShell には、PowerShell コマンドレットと概念に関する最新のヘルプ トピックにアクセスするためのさまざまな方法が用意されています。
PowerShell 3.0 で導入された更新可能なヘルプ システムは、コマンド ラインで読めるように、ローカル コンピューターに常に最新のヘルプ トピックがあることを保証するように設計されています。 これにより、ヘルプ ファイルのダウンロードとインストールが簡単になり、新しいヘルプ ファイルが使用可能になったときにいつでも更新できます。
エンタープライズ内の複数のコンピューターとインターネットにアクセスできないコンピューターに対して更新されたヘルプを提供するために、更新可能なヘルプを使用すると、ヘルプ ファイルをファイル システム ディレクトリまたはファイル共有にダウンロードし、ファイル共有からヘルプ ファイルをインストールできます。
PowerShell 4.0 では、リモート処理Windows PowerShell介して HelpInfoUri プロパティが保持されます。これにより、Save-Help
リモート コンピューターにインストールされているが、必ずしもローカル コンピューターにインストールされていないモジュールで動作できます。 PSModuleInfo オブジェクトをディスクまたはリムーバブル メディア (USB ドライブなど) に保存するには、インターネットにアクセスできないコンピューターで を実行Export-Clixml
し、インターネットにアクセスできるコンピューターに PSModuleInfo オブジェクトをインポートしてから、PSModuleInfo オブジェクトで実行Save-Help
します。 保存されたヘルプは、リムーバブル メディアを使用してリモートの切断されたコンピューターにコピーし、 を実行 Update-Help
してインストールできます。 これらの機能の Save-Help
改善により、ネットワーク アクセスのないコンピューターにヘルプをインストールできます。 新しい Save-Help
機能の使用方法の例については、このトピックの 「ファイル共有からヘルプを更新する方法 」を参照してください。
更新可能なヘルプでは、コンピューターにヘルプ ファイルがない場合でも、最新のヘルプ トピックとコマンドレットの基本的なヘルプへのオンライン アクセスもサポートされます。
PowerShell にはヘルプ ファイルは付属していません。 更新可能なヘルプ機能を使用すると、PowerShell に既定で含まれるすべてのコマンドとすべての Windows モジュールのヘルプ ファイルをインストールできます。
更新可能なヘルプ コマンドレット
Update-Help
: インターネットまたはファイル共有から最新のヘルプ ファイルをダウンロードし、ローカル コンピューターにインストールします。Save-Help
: インターネットから最新のヘルプ ファイルをダウンロードし、ファイル システム ディレクトリまたはファイル共有に保存します。 ヘルプ ファイルをコンピューターにインストールするには、 を使用Update-Help
します。Get-Help
: コマンド ラインにヘルプ トピックを表示します。 コンピューター上のヘルプ ファイルからヘルプを取得します。 ヘルプ ファイルがないコマンドレットと関数に対して自動生成されたヘルプを表示します。 既定のインターネット ブラウザーでコマンドレット、関数、スクリプト、ワークフローのオンライン ヘルプ トピックを開きます。
自動生成されたヘルプ: ヘルプ ファイルのないヘルプ
コンピューターにコマンドレット、関数、またはワークフローのヘルプ ファイルがない場合は、自動的に生成されたヘルプが表示され、 Get-Help
ヘルプ ファイルをダウンロードするかオンラインで読み取るように求められます。
自動生成されたヘルプには、構文とエイリアス、および更新可能なヘルプ コマンドレットの使用方法とオンライン ヘルプ トピックへのアクセス方法を説明する解説が含まれています。
たとえば、次のコマンドは、 コマンドレットの基本的なヘルプを Get-Culture
取得します。 出力には、コンピューターに Get-Help
ヘルプ ファイルがない場合の表示が表示されます。
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.
モジュールのヘルプ ファイル
更新可能なヘルプの最小単位は、モジュールのヘルプです。 モジュール ヘルプには、モジュール内のすべてのコマンドレット、関数、ワークフロー、プロバイダー、スクリプト、概念に関するヘルプが含まれています。 現在のセッションにインポートされていない場合でも、コンピューターにインストールされているすべてのモジュールのヘルプを更新できます。
モジュール全体のヘルプを更新できますが、個々のコマンドレットのヘルプを更新することはできません。
特定のコマンドレットを含むモジュールを見つけるには、次のコマンド形式を使用します。
(Get-Command <cmdlet-name>).ModuleName
たとえば、 コマンドレットを含む Set-ExecutionPolicy
モジュールを見つけるには、次のように入力します。
(Get-Command Set-ExecutionPolicy).ModuleName
特定のモジュールのヘルプを更新するには、次のように入力します。
Update-Help -Module <ModuleName>
たとえば、Set-ExecutionPolicy コマンドレットを含むモジュールのヘルプを更新するには、次のように入力します。
Update-Help -Module Microsoft.PowerShell.Security
更新可能なヘルプのアクセス許可
ディレクトリ $pshome/Modules
内のモジュールのヘルプを更新するには、コンピューターの Administrators グループのメンバーである必要があります。
Administrators グループのメンバーでない場合は、これらのモジュールのヘルプを更新できません。インターネットにアクセスできる場合は、オンラインでヘルプを表示できます。
ディレクトリ内のモジュールまたはディレクトリ $HOME/Documents/PowerShell/Modules
の他のサブディレクトリ内のモジュールのヘルプを $HOME
更新する場合、特別なアクセス許可は必要ありません。
Update-Help
コマンドレットと Save-Help
コマンドレットには、現在のユーザーの明示的な資格情報を提供する UseDefaultCredentials パラメーターがあります。 このパラメーターは、セキュリティで保護されたインターネットの場所にアクセスするために設計されています。
Update-Help
コマンドレットと Save-Help
コマンドレットには、リモート コンピューターでコマンドを実行し、3 番目のコンピューター上のファイル共有にアクセスできる Credential パラメーターもあります。 Credential パラメーターは、 の SourcePath パラメーターまたは LiteralPath パラメーターUpdate-Help
と の DestinationPath パラメーターまたは LiteralPath パラメーターSave-Help
を使用する場合にのみ有効です。
ヘルプ ファイルをインストールして更新する方法
ヘルプ ファイルを初めてダウンロードしてインストールする場合、またはコンピューター上のヘルプ ファイルを更新するには、 コマンドレットを Update-Help
使用します。
コマンドレットは Update-Help
、次のタスクを含め、すべてのハードワークを行います。
- 更新可能なヘルプをサポートするモジュールを決定します。
- 各モジュールが更新可能なヘルプ ファイルを格納するインターネット上の場所を検索します。
- コンピューター上の各モジュールのヘルプ ファイルと、各モジュールで使用できる最新のヘルプ ファイルを比較します。
- インターネットから新しいファイルをダウンロードします。
- ヘルプ ファイル パッケージのラップを解除します。
- ファイルが有効なヘルプ ファイルであることを確認します。
- モジュール ディレクトリの言語固有のサブディレクトリにヘルプ ファイルをインストールします。
新しいヘルプ トピックにアクセスするには、 コマンドレットを使用します Get-Help
。 PowerShell を再起動する必要はありません。
更新可能なヘルプをサポートするコンピューター上のすべてのモジュールのヘルプをインストールまたは更新するには、次のように入力します。
Update-Help
特定のモジュールのヘルプを更新するには、 の Module パラメーターを追加します Update-Help
。 モジュール名にはワイルドカード文字を使用できます。
たとえば、ServerManager モジュールのヘルプを更新するには、次のように入力します。
Update-Help -Module ServerManager
パラメーターを指定しないと、 Update-Help
セッション内のすべてのモジュールと、更新可能なヘルプをサポートするすべてのインストール済みモジュールに対する更新のヘルプが表示されます。 モジュールを含めるためには、PSModulePath 環境変数の値にリストされているディレクトリにモジュールをインストールする必要があります。 これらは、コマンドによって Get-Module -ListAvailable
返されるモジュールでもあります。
Module パラメーターの値が (すべて) Update-Help
の場合、*
更新可能なヘルプをサポートしていないモジュールを含め、インストールされているすべてのモジュールのヘルプを更新しようとします。 通常、このコマンドでは、更新可能なヘルプをサポートしていないモジュールがコマンドレットによって検出され、多くのエラーが生成されます。
ファイル共有からヘルプを更新する方法
インターネットに接続されていないコンピューターをサポートしたり、企業でのヘルプの更新を制御または合理化したりするには、 コマンドレットを Save-Help
使用します。 コマンドレットは Save-Help
、インターネットからヘルプ ファイルをダウンロードし、指定したファイルシステム ディレクトリに保存します。
Save-Help
は、指定したディレクトリ内のヘルプ ファイルと、各モジュールで使用できる最新のヘルプ ファイルを比較します。 ディレクトリにヘルプ ファイルがない場合、またはモジュールで使用できる新しいヘルプ ファイルがない場合、 Save-Help
コマンドレットはインターネットから新しいファイルをダウンロードします。 ただし、ヘルプ ファイルのラップ解除やインストールは行われません。
ファイル システム ディレクトリに保存されたヘルプ ファイルからコンピューターにヘルプ ファイルをインストールまたは更新するには、 コマンドレットの SourcePath パラメーターを Update-Help
使用します。 コマンドレットは Update-Help
、最新のヘルプ ファイルを識別し、ラップを解除して検証し、モジュール ディレクトリの言語固有のサブディレクトリにインストールします。
たとえば、インストールされているすべてのモジュールのヘルプをディレクトリに保存するには、次のように \\Server\Share
入力します。
Save-Help -DestinationPath \\Server\Share
次に、ディレクトリからヘルプを更新するには、次のように \\Server\Share
入力します。
Update-Help -SourcePath \\Server\Share
次の例は、 を使用 Save-Help
して、ローカル コンピューターにインストールされていないモジュールのヘルプを保存する方法を示しています。 この例では、 を実行 Save-Help
して、DhcpServer モジュールまたは DHCP サーバーの役割をローカル コンピューターにインストールせずに、インターネットに接続されたクライアント コンピューターから DhcpServer モジュールのヘルプを保存します。
オプション 1: を実行Invoke-Command
してリモート モジュールの PSModuleInfo オブジェクトを取得し、それを変数 に保存し、$m
モジュール名として変数$m
を指定して PSModuleInfo オブジェクトで を実行Save-Help
します。
$invokeCommandSplat = @{
ComputerName = 'RemoteServer'
ScriptBlock = { Get-Module -Name DhcpServer -ListAvailable }
}
$m = Invoke-Command @invokeCommandSplat
Save-Help -Module $m -DestinationPath C:\SavedHelp
オプション 2: DHCP サーバー モジュールを実行しているコンピューターを対象とする PSSession を開き、モジュールの PSModuleInfo オブジェクトを取得し、変数に保存して、変数$m
に保存されているオブジェクトで $m
を実行Save-Help
します。
$s = New-PSSession -ComputerName RemoteServer
$m = Get-Module -PSSession $s -Name DhcpServer -ListAvailable
Save-Help -Module $m -DestinationPath C:\SavedHelp
オプション 3: DHCP サーバー モジュールを実行しているコンピューターを対象とする CIM セッションを開き、モジュールの PSModuleInfo オブジェクトを取得し、変数に保存して、変数$m
に保存されているオブジェクトで $m
を実行Save-Help
します。
$c = New-CimSession -ComputerName RemoteServer
$m = Get-Module -CimSession $c -Name DhcpServer -ListAvailable
Save-Help -Module $m -DestinationPath C:\SavedHelp
次の例では、管理者が DHCP サーバー モジュールのヘルプをネットワーク アクセス権のないコンピューターにインストールします。
まず、 を実行 Export-Clixml
して 、PSModuleInfo オブジェクトを共有フォルダーまたはリムーバブル メディアにエクスポートします。
$m = Get-Module -Name DhcpServer -ListAvailable
Export-Clixml -Path E:\UsbDrive\DhcpModule.xml -InputObject $m
次に、リムーバブル メディアをインターネットにアクセスできるコンピューターに転送し、 を使用して PSModuleInfo オブジェクトを Import-Clixml
インポートします。 を実行 Save-Help
して、インポートされた DhcpServer モジュール PSModuleInfo オブジェクトのヘルプを保存します。
$deserialized_m = Import-Clixml E:\UsbDrive\DhcpModule.xml
Save-Help -Module $deserialized_m -DestinationPath E:\UsbDrive\SavedHelp
最後に、ネットワーク アクセス権のないコンピューターにリムーバブル メディアを返送し、 を実行 Update-Help
してヘルプをインストールします。
Update-Help -Module DhcpServer -SourcePath E:\UsbDrive\SavedHelp
パラメーターを指定しないと、 Save-Help
セッション内のすべてのモジュールと、更新可能なヘルプをサポートするすべてのインストール済みモジュールに関するヘルプがダウンロードされます。 モジュールを含めるためには、環境変数の値 $env:PSModulePath
に記載されているディレクトリ、ローカル コンピューター、またはヘルプを保存するリモート コンピューターにモジュールをインストールする必要があります。 これらは、コマンドを実行 Get-Help -ListAvailable
して返されるモジュールでもあります。
さまざまな言語でヘルプ ファイルを更新する方法
既定では、 コマンドレットと Save-Help
コマンドレットは、Update-Help
ローカル コンピューター上の Windows 用に設定されている UI カルチャと言語のヘルプをダウンロードします。 指定したモジュールのヘルプ ファイルがローカル UI カルチャで使用できない場合は、 Update-Help
Save-Help
Windows 言語フォールバック ルールを使用して、サポートされている最適な言語を見つけます。
ただし、 コマンドレットと Save-Help
コマンドレットの Update-Help
UICulture パラメーターを使用して、使用可能な UI カルチャにヘルプ ファイルをダウンロードしてインストールできます。
たとえば、セッション上のすべてのモジュールの最新のヘルプ ファイルを日本語 (ja-Jp) とフランス語 (fr-FR) で保存するには、次のように入力します。
Save-Help -Path \Server\Share -UICulture ja-jp, fr-fr
モジュールのヘルプ ファイルが指定した言語で使用できない場合、 コマンドレットと Save-Help
コマンドレットは、Update-Help
各モジュールのヘルプが使用可能な言語を示すエラー メッセージを返します。これにより、ニーズに最適な代替手段を選択できます。
注意
現在、更新可能なヘルプ コンテンツは英語 (en-US) でのみ公開されています。
オンライン ヘルプの使用方法
ローカル コンピューターのヘルプ ファイルを更新できない場合、または更新できない場合でも、最新のヘルプ ファイルをオンラインで入手できます。
任意のコマンドレットまたは関数のオンライン ヘルプ トピックを開くには、 コマンドレットの Online パラメーターを Get-Help
使用します。
たとえば、次のコマンドは、既定のインターネット ブラウザーで コマンドレットの Get-Job
オンライン ヘルプ トピックを開きます。
Get-Help Get-Job -Online
スクリプトのオンライン ヘルプを取得するには、 Online パラメーターとスクリプトへの完全なパスを使用します。
Online パラメーターは About トピックでは機能しません。 PowerShell 言語に関するヘルプ トピックを含む PowerShell のトピックについては、「PowerShell about Topics」を参照してください。
インターネットのダウンロードを最小限に抑える方法または防止する方法
インターネットのダウンロードを最小限に抑え、インターネットに接続していないユーザーに更新可能なヘルプを提供するには、 コマンドレットを使用します Save-Help
。 インターネットからヘルプをダウンロードし、ネットワーク共有に保存します。 次に、すべてのコンピューターでコマンドを実行Update-Help
するグループ ポリシー設定またはスケジュールされたジョブを作成します。 コマンドレットの SourcePath パラメーターの値を Update-Help
ネットワーク共有に設定します。
インターネットにアクセスできるユーザーがインターネットから更新可能なヘルプをダウンロードできないようにするには、[Update-Help グループ ポリシーの既定のソース パスを設定する] 設定を使用します。
このグループ ポリシー設定では、影響を受けるすべてのコンピューター上のすべてのUpdate-Help
コマンドに、指定したファイルシステムの場所を持つ SourcePath パラメーターが暗黙的に追加されます。 ユーザーは SourcePath パラメーターを明示的に使用して別のファイルシステムの場所を指定できますが、 SourcePath パラメーターを除外してインターネットからヘルプをダウンロードすることはできません。
注意
[ Update-Help グループ の既定のソース パスを設定する ] ポリシー設定は 、[コンピューターの構成] と [ ユーザーの構成] の下に表示されます。 ただし、[ コンピューターの構成] の下のポリシー設定のみが有効です。 [ ユーザー構成] のポリシー設定は無視されます。
詳細については、「about_Group_Policy_Settings」をご覧ください。
標準以外のモジュールのヘルプを更新する方法
コマンドレットの ListAvailable パラメーターGet-Module
によって返されないモジュールのヘルプを更新または保存するには、 または Save-Help
コマンドを実行する前に、モジュールをUpdate-Help
現在のセッションにインポートします。 リモート コンピューターで、 コマンドを実行する Save-Help
前に、リモート コンピューターに接続されている現在のセッション ( Invoke-Command
スクリプト ブロック) にモジュールをインポートします。
モジュールが現在のセッションにある場合は、 または Save-Help
コマンドレットをUpdate-Help
パラメーターなしで実行するか、Module パラメーターを使用してモジュール名を指定します。
コマンドレットと Save-Help
コマンドレットの Update-Help
Module パラメーターは、モジュール名のみを受け入れます。 モジュール ファイルへのパスは受け入れられません。
この手法を使用して、コマンドレットの ListAvailable パラメーター Get-Module
によって返されないモジュール (環境変数にリスト $env:PSModulePath
されていない場所にインストールされているモジュール、適切な形式ではないモジュールなど) のヘルプを更新または保存します (モジュール ディレクトリには、ベース名がディレクトリ名と同じファイルが少なくとも 1 つ含まれていません)。
更新可能なヘルプをサポートする方法
モジュールを作成する場合は、モジュールのオンライン ヘルプと更新可能なヘルプをサポートできます。 詳細については、「 更新可能なヘルプのサポート 」と「 オンライン ヘルプのサポート」を参照してください。
更新可能なヘルプは、PowerShell スナップインまたはコメントベースのヘルプでは使用できません。
注釈
Update-Help
コマンドレットと Save-Help
コマンドレットは、Windows プレインストール環境 (Windows PE) ではサポートされていません。