Windows PowerShell には、利用可能なすべてのコマンドの名前を取得する Get-Command というコマンドレットがあります。Windows PowerShell プロンプトで「Get-Command」と入力すると、次のような出力結果が得られます。

PS> Get-Command
CommandType     Name                            Definition
-----------     ----                            ----------
Cmdlet          Add-Content                     Add-Content [-Path] <String[...
Cmdlet          Add-History                     Add-History [[-InputObject] ...
Cmdlet          Add-Member                      Add-Member [-MemberType] <PS...
... 

この出力結果を見ると、Cmd.exe の Help コマンドの出力結果 (内部コマンドの概要が表形式で表示される) と似ていることがわかります。上に挙げた Get-Command コマンドの出力例では、表示されているすべてのコマンドの種類 (CommandType) がコマンドレット (Cmdlet) になっています。コマンドレットは Windows PowerShell に組み込まれているコマンドで、Cmd.exe の dir コマンドや cd コマンド、または UNIX シェル (BASH など) の組み込みコマンドにほぼ相当します。

Get-Command コマンドの出力では、すべての情報を表示するだけの領域がないため、すべての説明文が省略記号 (...) で終わっています。Windows PowerShell は、出力結果を表示するとき、出力をテキスト形式に変換した上で、データが確実にウィンドウに収まるように調整します。この点については、フォーマッタに関するセクションで後述します。

Get-Command コマンドレットには Syntax パラメーターがあり、それを指定することで、各コマンドレットの構文だけを取得できます。「Get-Command -Syntax」と入力すると、次のような出力結果が表示されます。

PS> Get-Command -Syntax
Add-Content [-Path] <String[]> [-Value] <Object[]> [-PassThru] [-Filter <String>] [-Include <String[]>] [-Exclude <String[]>] [-Force] [Credential <PSCredential>] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>] [-WhatIf] [-Confirm] [-Encoding <FileSystemCmdletProviderEncoding>]

Add-History [[-InputObject] <PSObject[]>] [-Passthru] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <String>][-OutBuffer <Int32>]...

利用可能なコマンド タイプの表示

Get-Command コマンドでは、Windows PowerShell で利用可能なすべてのコマンドが表示されるわけではありません。Get-Command コマンドで表示されるのは、現在のシェルのコマンドレットだけです。実際には他にもいくつかの種類のコマンドがサポートされています。『Windows PowerShell ユーザー ガイド』では詳しく取り上げませんが、エイリアス、関数、スクリプトなども Windows PowerShell のコマンドです。実行可能な外部ファイルや、ファイル タイプ ハンドラーが登録されている外部ファイルも、コマンドとして位置付けられています。

次のコマンドを入力すると、呼び出すことのできるすべての項目の一覧を返すことができます。

PS> Get-Command *

この出力結果の一覧には、検索パスに存在する外部ファイルが含まれるため、場合によっては数千個の項目が表示されます。このため、コマンドを絞り込んで表示するのが一般的です。CommandType コマンドレットの Get-Command パラメーターを使用すると、他の種類のネイティブ コマンドを検索できます。他のコマンド タイプについてはまだ触れていませんが、CommandType という名前がわかっていれば、特定の種類のコマンドを表示できます。

注意事項:

まだ取り上げていませんが、Windows PowerShell のコマンド引数には、ワイルドカードとしてアスタリスク (*) を使用できます。アスタリスク (*) は、"任意の文字が少なくとも 1 つ" という意味です。「Get-Command a*」と入力すると、アルファベット "a" で始まるすべてのコマンドを検索できます。Cmd.exe におけるワイルドカードとは異なり、Windows PowerShell のワイルドカードではピリオドも使用できます。

特殊なコマンド カテゴリであるエイリアス (標準的なコマンド名の別名) を表示するには、次のコマンドを入力します。

PS> Get-Command -CommandType Alias

Windows PowerShell のすべての関数を表示するには、次のコマンドを入力します。

PS> Get-Command -CommandType Function

Windows PowerShell の検索パスに存在する外部のスクリプトを表示するには、次のコマンドを入力します。

PS> Get-Command -CommandType ExternalScript




目次