Share via


about_Updatable_Help

簡単な説明

PowerShell の更新可能なヘルプ システムについて説明します。

長い説明

PowerShell には、PowerShell コマンドレットと概念に関する最新のヘルプ トピックにアクセスするためのさまざまな方法が用意されています。

PowerShell 3.0 で導入された更新可能なヘルプ システムは、コマンド ラインで読むことができるように、ローカル コンピューターに常に最新のヘルプ トピックがあることを保証するように設計されています。 これにより、ヘルプ ファイルのダウンロードとインストールが簡単になり、新しいヘルプ ファイルが利用可能になったときにいつでも更新できます。

エンタープライズ内の複数のコンピューターとインターネットにアクセスできないコンピューターに対して更新されたヘルプを提供するために、更新可能なヘルプを使用すると、ヘルプ ファイルをファイル システム ディレクトリまたはファイル共有にダウンロードし、ファイル共有からヘルプ ファイルをインストールできます。

PowerShell 4.0 では、HelpInfoUri プロパティはリモート処理Windows PowerShell保持されます。これによりSave-Help、リモート コンピューターにインストールされているが、必ずしもローカル コンピューターにインストールされていないモジュールで動作できます。 PSModuleInfo オブジェクトをディスクまたはリムーバブル メディア (USB ドライブなど) に保存するには、インターネットにアクセスできないコンピューターで を実行Export-Clixmlし、インターネットにアクセスできるコンピューターで PSModuleInfo オブジェクトをインポートしてから、PSModuleInfo オブジェクトで実行Save-Helpします。 保存されたヘルプは、リモートにコピーし、リムーバブル メディアを使用して切断されたコンピューターにコピーし、 を実行 Update-Helpしてインストールできます。 これらの機能の Save-Help 改善により、ネットワーク アクセスの種類がないコンピューターにヘルプをインストールできます。 新しい Save-Help 機能を使用する方法の例については、このトピックの 「ファイル共有からヘルプを更新する方法 」を参照してください。

更新可能なヘルプは、コンピューターにヘルプ ファイルがない場合でも、最新のヘルプ トピックとコマンドレットの基本的なヘルプへのオンライン アクセスもサポートします。

PowerShell 3.0 にはヘルプ ファイルは付属していません。 更新可能なヘルプ機能を使用すると、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 パラメーターがあります。 このパラメーターは、セキュリティで保護されたインターネットの場所にアクセスするために設計されています。

および コマンドレットには、リモート コンピューターでコマンドを実行し、3 つ目のコンピューター上のファイル共有にアクセスできる Credential パラメーターもあります。Save-HelpUpdate-Help 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-Help -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します。

$m = Invoke-Command -ComputerName RemoteServer -ScriptBlock
{ Get-Module -Name DhcpServer -ListAvailable }
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:\UsbFlashDrive\DhcpModule.xml -InputObject $m

次に、リムーバブル メディアをインターネットにアクセスできるコンピューターに転送し、 を使用して PSModuleInfo オブジェクトを Import-Clixmlインポートします。 を実行 Save-Help して、インポートされた DhcpServer モジュール PSModuleInfo オブジェクトのヘルプを保存します。

$deserialized_m = Import-Clixml E:\UsbFlashDrive\DhcpModule.xml
Save-Help -Module $deserialized_m -DestinationPath E:\UsbFlashDrive\SavedHelp

最後に、ネットワーク アクセス権のないコンピューターにリムーバブル メディアを転送し、 を実行 Update-Helpしてヘルプをインストールします。

Update-Help -Module DhcpServer -SourcePath E:\UsbFlashDrive\SavedHelp

パラメーターがない場合は、 Save-Help セッション内のすべてのモジュールと、更新可能なヘルプをサポートするすべてのインストール済みモジュールのヘルプがダウンロードされます。 モジュールを含めるためには、環境変数の値に記載されているディレクトリ、ローカル コンピューター、またはヘルプを $env:PSModulePath 保存するリモート コンピューターにモジュールをインストールする必要があります。 これらは、コマンドを実行 Get-Help -ListAvailable して返されるモジュールでもあります。

さまざまな言語でヘルプ ファイルを更新する方法

既定では、 コマンドレットと Save-Help コマンドレットは、Update-Helpローカル コンピューター上の Windows 用に設定されている UI カルチャと言語のヘルプをダウンロードします。 指定したモジュールのヘルプ ファイルがローカル UI カルチャで使用できない場合は、 Update-HelpSave-Help Windows 言語フォールバック 規則を使用して、サポートされている最適な言語を見つけます。

ただし、 コマンドレットと Save-Help コマンドレットの Update-HelpUICulture パラメーターを使用して、使用可能なすべての UI カルチャにヘルプ ファイルをダウンロードしてインストールできます。

たとえば、セッションのすべてのモジュールの最新のヘルプ ファイルを日本語 (Ja-jp) とフランス語 (fr-FR) で保存するには、次のように入力します。

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

モジュールのヘルプ ファイルが指定した言語で使用できない場合、 Update-Help コマンドレットと Save-Help コマンドレットは、各モジュールのヘルプが利用可能な言語を示すエラー メッセージを返します。これにより、ニーズに最適な代替手段を選択できます。

注意

現在、更新可能なヘルプ コンテンツは英語 (en-US) でのみ公開されています。 Windows 以外のシステムでは、 UICulture パラメーターを使用してコンテンツを明示的に要求する 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-HelpModule パラメーターは、モジュール名のみを受け入れます。 モジュール ファイルへのパスは受け入れられません。

この手法を使用して、環境変数にリスト$env:PSModulePathされていない場所にインストールされているモジュールや、適切な形式ではないモジュール (ベース名がディレクトリ名と同じファイルが少なくとも 1 つも含まれていない) など、コマンドレットの ListAvailable パラメーターGet-Moduleによって返されないモジュールのヘルプを更新または保存します。

更新可能なヘルプをサポートする方法

モジュールを作成する場合は、モジュールのオンライン ヘルプと更新可能なヘルプをサポートできます。 詳細については、Microsoft Docsの「更新可能なヘルプのサポート」と「オンライン ヘルプのサポート」を参照してください。

更新可能なヘルプは、PowerShell スナップインまたはコメントベースのヘルプでは使用できません。

注釈

Update-Helpコマンドレットと Save-Help コマンドレットは、Windows プレインストール環境 (Windows PE) ではサポートされていません。

こちらもご覧ください