about_Updatable_Help

適用対象: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0

トピック

About_Updatable_Help

概要

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

詳細説明

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

Windows PowerShell 3.0 で導入された更新可能ヘルプ システムは、ローカル コンピューター上に最新のヘルプ トピックを常に保持して、それらをコマンド ラインで読み取ることができるように設計されています。ヘルプ ファイルをダウンロードしてインストールし、新しいヘルプ ファイルが使用可能になるたびに更新することが容易になります。

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

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

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

Windows PowerShell 3.0 には、ヘルプ ファイルが付属していません。更新可能ヘルプ機能を使用して、Windows PowerShell に既定で含まれているすべてのコマンドおよびすべての Windows モジュールのヘルプ ファイルをインストールできます。

更新可能ヘルプのコマンドレット

Update-Help:

インターネットまたはファイル共有から最新のヘルプ ファイルをダウンロードし、ローカル コンピューターにインストールします。

Save-Help:

インターネットから最新のヘルプ ファイルをダウンロードし、ファイル システム ディレクトリまたはファイル共有に保存します。コンピューターにヘルプ ファイルをインストールするには、Update-Help を使用します。

Get-Help:

コマンド ラインにヘルプ トピックを表示します。

コンピューター上のヘルプ ファイルからヘルプを取得します。

ヘルプ ファイルがないコマンドレットと関数に対して自動生成されたヘルプを表示します。

既定のインターネット ブラウザーにコマンドレット、関数、スクリプト、およびワークフローのオンライン ヘルプ トピックを開きます。

Windows PowerShell ISE でのヘルプの更新

Windows PowerShell Integrated Scripting Environment (ISE) で [ヘルプ] メニューの [Windows PowerShell ヘルプの更新] を使用して、ヘルプを更新することもできます。

[Windows PowerShell ヘルプの更新] を選択すると、パラメーターを指定しないで Update-Help コマンドを実行します。

自動生成されたヘルプ:ヘルプ ファイルがないヘルプ

コンピューターにコマンドレット、関数、またはワークフローのヘルプ ファイルがない場合、Get-Help コマンドレットは自動生成されたヘルプを表示し、ヘルプ ファイルをダウンロードするか、またはオンラインで参照するように求めます。

自動生成されたヘルプには、構文とエイリアスのほか、更新可能ヘルプ コマンドレットを使用し、オンライン ヘルプ トピックにアクセスする方法を説明する注釈が含まれています。

たとえば、次のコマンドは Get-Culture コマンドレットの基本的なヘルプを取得します。コンピューターにヘルプ ファイルが存在しない場合、出力には Get-Help の表示が示されます。

         PS C:\> Get-Help Get-Culture

名前

Get-Culture

構文

Get-Culture [<CommonParameters>]

エイリアス

None

注釈

説明と例のタイプを含め、最新のヘルプ コンテンツを取得するには: 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 グループのメンバーでない場合はこれらのモジュールのヘルプを更新できませんが、インターネットにアクセスできる場合は TechNet ライブラリのオンライン ヘルプを表示できます。

$home\Documents\WindowsPowerShell\Modules ディレクトリ内のモジュールまたは $home ディレクトリの他のサブディレクトリ内のモジュールのヘルプを更新するために、特殊なアクセス許可は必要ありません。

Update-Help コマンドレットと Save-Help コマンドレットには、現在のユーザーの明示的な資格情報を提供する UseDefaultCredentials パラメーターがあります。このパラメーターは、セキュリティで保護されたインターネット上の場所にアクセスするように設計されています。

Update-Help コマンドレットと Save-Help コマンドレットには、リモート コンピューターでコマンドを実行し、3 台目のコンピューター上のファイル共有にアクセスするための Credential パラメーターもあります。Update-Help の SourcePath パラメーターまたは LiteralPath パラメーターと、Save-Help の DestinationPath パラメーターまたは LiteralPath パラメーターを使用する場合にのみ、Credential パラメーターは有効です。

ヘルプ ファイルをインストールおよび更新する方法

初めてヘルプ ファイルをダウンロードしてインストールするか、またはコンピューター上のヘルプ ファイルを更新するには、Update-Help コマンドレットを使用します。

Update-Help コマンドレットは、次のタスクを含め、面倒な作業をユーザーに代わってすべて実行します。

更新可能ヘルプをサポートしているモジュールを判断します。

各モジュールがそれぞれの更新可能ヘルプ ファイルを格納するインターネット上の場所を探します。

コンピューター上の各モジュールのヘルプ ファイルを各モジュールで利用可能な最新のヘルプ ファイルと比較します。

新しいファイルをインターネットからダウンロードします。

ヘルプ ファイル パッケージのラップを解除します。

ファイルが有効なヘルプ ファイルであることを検証します。

ヘルプ ファイルをモジュール ディレクトリの言語に固有のサブディレクトリにインストールします。

新しいヘルプ トピックにアクセスするには、Get-help コマンドレットを使用します。Windows PowerShell を再起動する必要はありません。

更新可能ヘルプをサポートしているコンピューター上のすべてのモジュールのヘルプをインストールまたは更新するには、次のように入力します。

        Update-Help

特定のモジュールのヘルプを更新するには、Update-Help の Module パラメーターを追加します。モジュール名ではワイルドカード文字を使用できます。

        Update-Help -Module ServerManager

注意事項

パラメーターを指定しない場合、Update-Help はセッションのすべてのモジュールのヘルプおよび更新可能ヘルプをサポートするすべてのインストール済みモジュールのヘルプを更新します。モジュールを含めるには、PSModulePath 環境変数の値に記載されているディレクトリにモジュールをインストールする必要があります。これらは、"Get-Help -ListAvailable" コマンドから返されるモジュールでもあります。

Module パラメーターの値が * (すべて) である場合、Update-Help は更新可能ヘルプをサポートしていないモジュールを含め、インストールされているすべてのモジュールのヘルプを更新しようとします。更新可能ヘルプをサポートしていないモジュールが検出されるため、このコマンドは通常、多数のエラーを生成します。

ファイル共有からヘルプを更新する方法: SAVE-HELP

インターネットに接続されていないコンピューターをサポートしたり、企業でのヘルプの更新を制御または効率化したりするには、Save-Help コマンドレットを使用します。Save-Help コマンドレットは、インターネットからヘルプ ファイルをダウンロードして、指定されたファイル システム ディレクトリに保存します。

Save-Help は、指定されたディレクトリ内のヘルプ ファイルを各モジュールで利用可能な最新のヘルプ ファイルと比較します。ディレクトリにヘルプ ファイルがない場合やモジュールで利用可能な新しいヘルプ ファイルがない場合、Save-Help コマンドレットはインターネットから新しいファイルをダウンロードします。ただし、ヘルプ ファイルのラップ解除やインストールは行いません。

ファイル システム ディレクトリに保存されたヘルプ ファイルからコンピューター上でヘルプ ファイルを更新またはインストールするには、Update-Help コマンドレットの SourcePath パラメーターを使用します。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

# 次に、インターネット アクセスがあるコンピューターにリムーバブル メディアを転送し、Import-CliXml で PSModuleInfo オブジェクトをインポートします。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 はセッションのすべてのモジュールのヘルプ、および更新可能ヘルプをサポートするすべてのインストール済みモジュールのヘルプをダウンロードします。モジュールを含めるには、ローカル コンピューターまたはヘルプの保存先のリモート コンピューターのいずれかで、PSModulePath 環境変数の値に記載されているディレクトリにモジュールをインストールする必要があります。これらは、"Get-Help-ListAvailable" コマンドを実行して返されるモジュールでもあります。

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

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

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

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

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

モジュールのヘルプ ファイルが指定した言語で利用できない場合、Update-Help コマンドレットおよび Save-Help コマンドレットが各モジュールのヘルプで利用可能な言語を一覧表示したエラー メッセージを返すため、ニーズに最も合った方法を選択できます。

ヘルプを自動的に更新する方法

ヘルプ ファイルを常に最新の状態にするには、Update-Help コマンドを Windows PowerShell プロファイルに追加します。

内部クォータは、Update-Help コマンドが 1 日 2 回以上実行されないようにします。最大でも 1 日に 1 回という制限を無効にするには、Force パラメーターを使用します。

プロファイルで次のようなコマンドを使用します。このコマンドは、ユーザーの作業を邪魔しないように、バックグラウンド ジョブでインストール済みのすべてのモジュールのヘルプを更新します。Out-Null コマンドを使用して、返されるジョブを抑制し、1 日に複数回コマンドを使用すると表示されるすべてのエラー メッセージを表示しないようにします。

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

また、任意の間隔で Update-Help コマンドレットまたは Save-Help コマンドレットを実行するスケジュールされたジョブを作成できます。

たとえば、次のコマンドは毎週金曜日午前 5 時に Update-Help ヘルプ コマンドを実行するスケジュールされたジョブを作成します。このコマンドを実行するには、[管理者として実行] オプションを指定して Windows PowerShell を起動します。

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

スケジュールされたジョブの詳細については、「about_Scheduled_Jobs」を参照してください。

オンライン ヘルプを使用する方法

ローカル コンピューター上のヘルプ ファイルを更新できない場合やそのような更新を選択できない場合でも、オンラインで最新のヘルプ ファイルを取得できます。

任意のコマンドレッドまたは関数のオンライン ヘルプ トピックを開くには、Get-Help コマンドレットの Online パラメーターを使用します。

たとえば、次のコマンドは既定のインターネット ブラウザーで Get-Job コマンドレットのオンライン ヘルプ トピックを開きます。

        Get-Help Get-Job -Online

- または -

        Get-Help -on Get-Job

スクリプトのオンライン ヘルプを取得するには、Online パラメーターとスクリプトへの完全パスを使用します。

Online パラメーターは、About トピックには使用できません。Windows PowerShell 言語に関するヘルプ トピックを含め、Windows PowerShell コアの About トピックを参照するには、https://go.microsoft.com/fwlink/?LinkID=113206 で「Windows PowerShell コア About トピック」を参照してください。

インターネットのダウンロードを防止または最小限に抑える方法

インターネットからのダウンロードを最小限に抑え、インターネットに接続されていないユーザーに更新可能ヘルプを提供するには、Save-Help コマンドレットを使用します。インターネットからヘルプをダウンロードし、ネットワーク共有に保存します。次に、すべてのコンピューターで Update-Help コマンドを実行するグループ ポリシー設定またはスケジュールされたジョブを作成します。Update-Help コマンドレットの SourcePath パラメーター値をネットワーク共有に設定します。

インターネットにアクセスできるユーザーがインターネットから更新可能ヘルプをダウンロードできないようにするには、[Update-Help の既定のソース パスを設定する] グループ ポリシー設定を使用します。

このグループ ポリシー設定は、影響を受けるすべてのコンピューター上のすべての Update-Help コマンドに、SourcePath パラメーターを指定のファイル システムの場所と共に暗黙的に追加します。ユーザーは、SourcePath パラメーターを使用して明示的に別のファイル システムの場所を指定できますが、SourcePath パラメーターを除外して、インターネットからヘルプをダウンロードすることはできません。

注記:

[Update-Help の既定のソース パスを設定する] グループ ポリシー設定は、[コンピューターの構成] と [ユーザーの構成] に表示されます。ただし、[コンピューターの構成] のポリシー設定のみが有効です。[ユーザーの構成] のポリシー設定は無視されます。

詳細については、「about_Group_Policy_Settings」を参照してください。

非標準のモジュールのヘルプを更新する方法

Get-Module コマンドレットの ListAvailable パラメーターから返されていないモジュールのヘルプを更新または保存するには、Update-Help コマンドまたは Save-Help コマンドを実行する前に、現在のセッションにモジュールをインポートします。リモート コンピューター上で、Save-Help コマンドを実行する前に、リモート コンピューターに接続されている現在の CIM または PSSession (または Invoke-Command スクリプト ブロック) にモジュールをインポートします。

モジュールが現在のセッションにある場合は、パラメーターを指定せずに Update-Help コマンドレットまたは Save-Help コマンドレットを実行するか、または Module パラメーターを使用してモジュールの名前を指定します。

Update-Help コマンドレットおよび Save-Help コマンドレットの Module パラメーターは、モジュール名のみを受け付けます。モジュール ファイルへのパスは受け入れません。

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

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

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

Windows PowerShell スナップインで利用できない更新可能ヘルプまたはコメント ベースのヘルプです。

キーワード

About_Updateable_Help

注釈

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

関連項目

Get-Help

Save-Help

Update-Help

更新可能ヘルプのステータス テーブル

(https://go.microsoft.com/fwlink/?LinkID=270007)