1. ホーム
  2. スクリプト・コラム
  3. パワーシェル

PowerShellでF1ヘルプコマンドのアクセスをオンラインドキュメントに変更する方法

2022-02-06 08:15:19

PowerShell 以降の場合

PowerShell 30から、Powershell自体にヘルプドキュメントがバンドルされなくなりました。ユーザーは Update-Help コマンドを使用して、PowerShell のヘルプドキュメントをローカルの保護された PowerShell フォルダにダウンロードし、更新する必要があります。一般ユーザーはUpdateコマンドを実行できないので、保護されているのです。

次に、コマンドを使わずにヘルプドキュメントを表示したい場合は、単にオンライン版を使用することができます。Online パラメーターは、Get-Process コマンドのオンライン ヘルプ ドキュメントをブラウザーで開きます(この動作はネットワークに依存します)。

コピーコード コードは以下の通りです。

PS> help Get-Process -Online

ヘルプドキュメントをインストールすれば、PowerShell ISEでヘルプを見るのは簡単です。コマンドをクリックして選択し、F1ショートカットを押すだけです。

よく見ると、内部的にはF1はHelpコマンドを呼び出しているに過ぎないことがわかる。そこで、F1の動作を変更して、オンライン・ヘルプ・ファイルを開くようにしたい場合は、一時的に次のような関数を書くとよいでしょう。

コピーコード コードは以下の通りです。

function Get-Help($Name)
{
 Get-Help $Name -Online
}

そうすると、このようなコードはデッドループになります。新しい関数の内部でGet-Helpは自分自身を呼び出し、出口のない再帰を延々と繰り返すのです。この関数を実際に動作させるには、関数内部のGet-HelpがPowerShellのGet-Helpコマンド自身を呼び出すようにする必要があります。コマンドの前に、自身のコンポーネント(Module)の名前を追加すればいいのです。
コピーコード コードは以下の通りです。

function Get-Help($Name)
{
 Microsoft.PowerShell.Core\Get-Help $Name -Online
}

上記の関数を実行した後、PowerShell ISEで、コマンドを選択してF1を押すと、ISEはそのコマンドのヘルプファイルをブラウザで開いてくれますよ。