PowerShell Cmdlet - Get-Command
 記事記号:[mf1959] 初版:2011/Sep/30

この文書は、Windows PowerShellのヘルプ機能で表示される内容を再構成したものです。

名前
    Get-Command
    
概要
    コマンドレットおよびその他の Windows PowerShell コマンド要素に関する基本情報
    を取得します。
    
構文
    Get-Command [[-Name] <string[]>] [-CommandType {Alias | Function | Filter | 
    Cmdlet | ExternalScript | Application | Script | All}] [[-ArgumentList] <Ob
    ject[]>] [-Module <string[]>] [-Syntax] [-TotalCount <int>] [<CommonParamet
    ers>]
    
    Get-Command [-Noun <string[]>] [-Verb <string[]>] [[-ArgumentList] <Object[
    ]>] [-Module <string[]>] [-Syntax] [-TotalCount <int>] [<CommonParameters>]
    
    
説明
    Get-Command コマンドレットはセッション中に、コマンドレットおよびその他の Win
    dows PowerShell コマンドの要素であるエイリアス、関数、フィルター、スクリプト、
    アプリケーションなどに関する基本情報を取得します。
    
    Get-Command は、コマンドレット、関数、スクリプト、またはエイリアスのコードか
    ら直接データを取得します。これと異なり、Get-Help はヘルプ トピック ファイル 
    から情報を取得します。
    
    パラメーターが指定されていない場合、"Get-Command" は現在のセッションのすべて
    のコマンドレットおよび関数を取得します。"Get-Command *" は、すべての Windows 
    PowerShell 要素および Path 環境変数 ($env:path) にある Windows PowerShell 以
    外のすべてのファイルを取得します。ファイルは、"Application" というコマンドの
    種類にグループ化されます。
    
    Get-Command の Module パラメーターを使用して、Windows PowerShell スナップイ
    ンの追加またはモジュールのインポートによってセッションに追加されたコマンドを
    検索できます。
    
パラメーター
    -ArgumentList <Object[]>
        パスなどの指定されたパラメーター ("引数") と共に使用されたコマンドレット
        または関数の情報を取得します。ArgumentList のエイリアスは Args です。
        
        特定のプロバイダーを指定してコマンドレットが使用されたときにコマンドレッ
        トに追加されたパラメーターを検出するには、"HKML\Software" や "cert:\my" 
        などのように、ArgumentList の値をプロバイダー ドライブのパスに設定します。
        
        必須                         false
        位置                         2
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -CommandType <CommandTypes>
        指定された種類のコマンドのみを取得します。"CommandType" またはそのエイリ
        アスである "Type" を使用します。既定では、Get-Command はコマンドレットお
        よび関数を取得します。
        
        有効な値は次のとおりです。
        -- Alias: 現在のセッションのすべての Windows PowerShell エイリアス。
        
        -- All: すべてのコマンド タイプ。"get-command *" と同等です。
        
        -- Application: Path 環境変数 ($env:path) で指定されたパスにある、Window
           s-PowerShell 以外のすべてのファイル (.txt、.exe、.dll など)。
        
        -- Cmdlet: 現在のセッションのコマンドレット。既定値は "Cmdlet" です。
        
        -- ExternalScript: Path 環境変数 ($env:path) に示されているパスにあるす
           べての .ps1 ファイル。
        
        -- Filter および Function: すべての Windows PowerShell 関数。
        
        -- Script: 現在のセッションのスクリプト ブロック。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Module <string[]>
        指定されたモジュールまたはスナップインからコマンドを取得します。モジュー
        ルまたはスナップインの名前を入力するか、スナップインまたはモジュール オ
        ブジェクトを入力します。
        
        このパラメーターは、名前 (Module) またはエイリアス (PSSnapin) で参照でき
        ます。選択するパラメーター名は、コマンドまたはその出力に影響しません。
        
        このパラメーターは文字列値を受け取りますが、Get-Module、Get-PSSnapin、Im
        port-PSSession が返すオブジェクトなど、PSModuleInfo または PSSnapinInfo 
        オブジェクトを指定することもできます。
        
        必須                         false
        位置                         named
        既定値                       なし
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Name <string[]>
        指定された名前のコマンドレットまたはコマンド要素のみの情報を取得します。
        <String> は、コマンドレットまたはコマンド要素の名前の全部または一部を表
        します。ワイルドカードを使用できます。
        
        同じ名前のコマンドを実行順に一覧表示するには、ワイルドカード文字を使用せ
        ずにコマンド名を入力します。詳細については、「注」セクションを参照してく
        ださい。
        
        必須                         false
        位置                         1
        既定値                       
        パイプライン入力を許可する   true (ByValue, ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Noun <string[]>
        指定された名詞を名前の一部とするコマンドレットおよび関数を取得します。<S
        tring> は、"process" や "*item*" など 1 つまたは複数の名詞または名詞のパ
        ターンを表します。ワイルドカードを使用できます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Syntax [<SwitchParameter>]
        コマンド要素に関するデータのうち指定されたもののみを取得します。
                   * エイリアスの場合は標準名を取得します。
                   * コマンドレットの場合は構文を取得します。
                   * 関数とフィルターの場合は関数の定義を取得します。
                   * スクリプトとアプリケーション (ファイル) の場合はパスとファ
                     イル名を取得します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -TotalCount <int>
        指定された数のコマンド要素のみを取得します。このパラメーターを使用してコ
        マンドの出力を制限できます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Verb <string[]>
        指定された動詞を名前の一部とするコマンドレットおよび関数の情報を取得しま
        す。<String> は、"remove" や "*et" など 1 つまたは複数の動詞または動詞の
        パターンを表します。ワイルドカードを使用できます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    System.String
        パイプを使用して、指定された "Name"、"Command"、および "Verb" の名詞プロ
        パティまたは文字列オブジェクトを Get-Command に渡すことができます。
    
出力
    Object
        返されるオブジェクトの型は、取得するコマンド要素の型によって異なります。
        たとえば、コマンドレットに対する Get-Command は CmdletInfo オブジェクト
        を取得しますが、DLL に対する Get-Command は ApplicationInfo オブジェク
        トを取得します。
    
メモ
        "Get-Command" をパラメーターなしで実行した場合、Windows PowerShell コマ
        ンドレットおよび関数の情報が取得されます。取得する要素を限定するにはパ
        ラメーターを使用します。
        
        XML ベースのヘルプ トピック ファイルの内容を表示する Get-Help と異なり、
        Get-Command は、システムのコマンドレット コードから直接コマンドレット情
        報を取得します。
        
        既定では、Get-Command はコマンドをアルファベット順に返します。セッショ
        ンに同じ名前のコマンドが複数含まれていると、Get-Command はコマンドを実
        行順に返します。リストの先頭のコマンドは、コマンド名を修飾子なしで入力
        したときに実行されるコマンドです。詳細については、「about_Command_Prece
        dence」を参照してください。
        
    -------------------------- 例 1 --------------------------
    
    C:\PS>get-command
    
    説明
    -----------
    このコマンドは、Windows PowerShell のすべてのコマンドレットと関数についての
    情報を取得します。
    
    既定では、コマンドの種類 ("Cmdlet"、"Function"、または "Filter")、コマンド
    レットまたは関数の名前、および構文または関数の定義の一覧が表示されます。
    
    -------------------------- 例 2 --------------------------
    
    C:\PS>get-command -verb set | format-list
    
    説明
    -----------
    このコマンドは、set 動詞を持つすべてのコマンドレットと関数についての情報を取
    得し、その一部を一覧表示します。
    
    この一覧には、完全な構文など、表形式の表示では省略されるフィールドも含まれま
    す。すべてのフィールド (オブジェクトのすべてのプロパティ) を表示するには、「
    get-command -verb set | format-list *」と入力します。
    
    -------------------------- 例 3 --------------------------
    
    C:\PS>get-command -type cmdlet | sort-object noun | format-table -group noun
    
    説明
    -----------
    このコマンドは、すべてのコマンドレットを取得し、コマンドレット名の名詞のアル
    ファベット順に並べ替え、名詞を基にグループ化して表示します。この表示方法は、
    特定のタスクを行うコマンドレットを探し出す場合に役立ちます。
    
    既定では、Get-Command は、システムで検出される順に項目を表示します。これは、
    実行コマンドがあいまいな場合に選択される実行順序でもあります。
    
    -------------------------- 例 4 --------------------------
    
    C:\PS>get-command -module Microsoft.PowerShell.Security, TestModule
    
    説明
    -----------
    このコマンドは、Microsoft.PowerShell.Security スナップインおよび TestModule 
    モジュールのコマンドを取得します。
    
    Module パラメーターは、モジュールのインポートまたは Windows PowerShell スナ
    ップインの追加によって追加されたコマンドを取得します。
    
    -------------------------- 例 5 --------------------------
    
    C:\PS>get-command get-childitem -args cert: -syntax
    
    説明
    -----------
    このコマンドは、Get-ChildItem が Windows PowerShell 証明書プロバイダーと一緒
    に使用された場合に、Get-ChildItem コマンドレットについての情報を取得します。
    
    この出力に表示されている構文と Args (ArgumentList) パラメーターを省略したと
    きに表示される構文を比較すると、証明書プロバイダーによって CodeSigningCert 
    パラメーターが Get-ChildItem コマンドレットに動的に追加されていることがわか
    ります。
    
    -------------------------- 例 6 --------------------------
    
    C:\PS>(get-command get-childitem -ArgumentList cert:).parametersets[0].param
    eters | where-object { $_.IsDynamic }
    
    説明
    -----------
    このコマンドは、Windows PowerShell 証明書プロバイダーと一緒に使用された場合
    に Get-ChildItem に動的に追加されるパラメーターのみを取得します。これは、前
    の例で使用した方法に代わる、別の方法です。
    
    このコマンドでは、"get-command get-childitem -ArgumentList cert:" が最初に処
    理されます。証明書プロバイダーと一緒に使用された場合に、Get-ChildItem コマン
    ドレットについての情報を Get-Command に要求します。".parametersets[0]" によ
    って "get-childitem -argumentList cert:" の最初のパラメーター セット (セット 
    0) が選択され、".parameters" によってそのパラメーター セット内のパラメーター
    が選択されます。選択されたパラメーターは Where-Object コマンドレットにパイプ
    され、IsDynamic プロパティを使用して各パラメーター ("$_.") がテストされます。
    コマンド内のオブジェクトのプロパティを見つけるには、Get-Member を使用します。
    
    -------------------------- 例 7 --------------------------
    
    C:\PS>get-command *
    
    説明
    -----------
    このコマンドは、現在のコンソールの Windows PowerShell コマンドレット、関数、
    フィルター、スクリプト、およびエイリアスの情報を取得します。
    
    Path 環境変数 ($env:path) のパスにあるすべてのファイルの情報も取得します。Ap
    plicationInfo オブジェクト (System.Management.Automation.ApplicationInfo) を
    各ファイルに返しますが、FileInfo オブジェクト (System.IO.FileInfo) は返しま
    せん。
    
    -------------------------- 例 8 --------------------------
    
    C:\PS>get-command | where-object {$_.definition -like "*first*"}
    
    CommandType     Name                        Definition
    -----------     ----                        ---------
    Cmdlet          Select-Object               Select-Object [[-Property]
    
    説明
    -----------
    このコマンドは、いずれかのパラメーターの名前に基づいてコマンドレットまたは関
    数を検出します。このコマンドを使用して、いずれかのパラメーターの名前しか思い
    出すことができないときに、コマンドレットまたは関数を識別できます。
    
    この例では、コマンドレットまたは関数のいずれかに、リストの先頭から n 個のオ
    ブジェクトを取得する First パラメーターがあることを覚えていても、それがどの
    コマンドレットか思い出せない場合を想定しています。
    
    このコマンドは、Get-Command コマンドレットを使用して、セッションの各コマンド
    レットおよび関数を表す CmdletInfo オブジェクトを取得します。CmdletInfo オブ
    ジェクトには、コマンドレットまたは関数の構文がパラメーターと共に含まれている 
    Definition プロパティがあります。
    
    このコマンドは、パイプライン演算子 (|) を使用して CmdletInfo オブジェクトを 
    Where-Object コマンドレットに渡します。コマンドレットは、各オブジェクト ($_) 
    の定義 (構文) で "first" を含む値を検索します。
    
    結果には、First パラメーターが Select-Object コマンドレットに属することが示
    されています。
    
    -------------------------- 例 9 --------------------------
    
    C:\PS>get-command dir | format-list
    
    Name              : dir
    CommandType       : Alias
    Definition        : Get-ChildItem
    ReferencedCommand : Get-ChildItem
    ResolvedCommand   : Get-ChildItem
    
    説明
    -----------
    この例は、Get-Command コマンドレットをエイリアスと共に使用する方法を示してい
    ます。Get-Command は、通常はコマンドレットに対して使用されますが、スクリプト、
    関数、エイリアス、および実行可能ファイルのコードの情報も表示します。
    
    このコマンドは、現在のコンソールの "dir" エイリアスを表示します。コマンドは、
    結果を Format-List コマンドレットにパイプします。
    
    -------------------------- 例 10 --------------------------
    
    C:\PS>get-command notepad
    
    CommandType     Name           Definition
    -----------     ----           ----------
    Application     notepad.exe    C:\WINDOWS\system32\notepad.exe
    Application     NOTEPAD.EXE    C:\WINDOWS\NOTEPAD.EXE
    
    説明
    -----------
    この例は、Get-Command を使用して、Windows PowerShell が同じ名前の複数のコマ
    ンドにアクセスできる場合に実行するコマンドを確認する方法を示しています。ワイ
    ルドカード文字を使用せずに Name パラメーターを使用すると、Get-Command は、
    その名前のコマンドを優先的に実行される順に一覧表示します。
    
    このコマンドは、完全修飾パスを使用せずに「Notepad」と入力した場合にどの Not
    epad プログラムが Windows PowerShell によって実行されるかを示します。このコ
    マンドは、ワイルドカード文字を使用せずに Name パラメーターを使用します。
    
    サンプル出力は、現在のコンソールの Notepad コマンドを示しています。これは、
    Windows PowerShell が C:\Windows\System32 ディレクトリの Notepad.exe のイン
    スタンスを実行することを示します。
    
    -------------------------- 例 11 --------------------------
    
    C:\PS>(get-command get-date).pssnapin
    
    C:\PS> (get-command remove-gpo).module
    
    説明
    -----------
    これらのコマンドは、特定のコマンドレットが生成された元のスナップインまたは
    モジュールを検索する方法を示しています。
    
    最初のコマンドは、CmdletInfo オブジェクトの PSSnapin プロパティを使用して、
    Get-Date コマンドレットを追加したスナップインを検索します。
    
    2 番目のコマンドは、CmdletInfo オブジェクトの Module プロパティを使用して、
    Remove-GPO コマンドレットを追加したモジュールを検索します。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=113309
    about_Command_Precedence 
    Get-Help 
    Get-PSDrive 
    Get-Member 
    Import-PSSession 
    Export-PSSession 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、Get-Command
ご利用数: 1917021
感想・要望・問い合わせは こちら