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

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

名前
    Trace-Command
    
概要
    指定された式またはコマンドのトレースを構成し、開始します。
    
構文
    Trace-Command [-Command] <string> [-ArgumentList <Object[]>] [-Name] <string
    []> [[-Option] {None | Constructor | Dispose | Finalizer | Method | Property 
    | Delegates | Events | Exception | Lock | Error | Errors | Warning | Verbose 
    | WriteLine | Data | Scope | ExecutionFlow | Assert | All}] [-Debugger] [-Fi
    lePath <string>] [-Force] [-InputObject <psobject>] [-ListenerOption {None | 
    LogicalOperationStack | DateTime | Timestamp | ProcessId | ThreadId | Callst
    ack}] [-PSHost] [<CommonParameters>]
    
    Trace-Command [-Expression] <scriptblock> [-Name] <string[]> [[-Option] {Non
    e | Constructor | Dispose | Finalizer | Method | Property | Delegates | Even
    ts | Exception | Lock | Error | Errors | Warning | Verbose | WriteLine | Dat 
    a | Scope | ExecutionFlow | Assert | All}] [-Debugger] [-FilePath <string>] 
    [-Force] [-InputObject <psobject>] [-ListenerOption {None | LogicalOperation
    Stack | DateTime | Timestamp | ProcessId | ThreadId | Callstack}] [-PSHost] 
    [<CommonParameters>]
    
説明
    Trace-Command コマンドレットは、指定された式またはコマンドのトレースを構成し、
    開始します。指定されたコマンドにのみ適用されることを除き、Set-TraceSource と
    同じように動作します。
    
パラメーター
    -ArgumentList <Object[]>
        トレースされるコマンドのパラメーターおよびパラメーター値を指定します。Ar
        gumentList のエイリアスは Args です。この機能は、動的パラメーターをデバ
        ッグする場合に特に便利です。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Command <string>
        トレース中に処理するコマンドを指定します。
        
        必須                         true
        位置                         2
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Debugger [<SwitchParameter>]
        トレースをデバッガーに出力します。出力は、任意のユーザー モードまたはカ
        ーネル モード デバッガー、あるいは Visual Studio で表示できます。このパ
        ラメーターによって、既定のトレース リスナーも選択したことになります。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Expression <scriptblock>
        トレース中に処理する式を指定します。式は波かっこ ({}) で囲みます。
        
        必須                         true
        位置                         2
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -FilePath <string>
        指定されたファイルにトレースを出力します。このパラメーターによって、ファ
        イル トレース リスナーも選択されます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Force [<SwitchParameter>]
        コマンドレットが読み取り専用ファイルにトレース出力を追加するのを許可しま
        す。FilePath パラメーターと共に使用します。Force パラメーターを使用して
        も、コマンドレットはセキュリティ制限を上書きできません。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -InputObject <psobject>
        トレース中に処理される式に入力を渡します。
        
        式が受け入れる入力を表す変数を入力するか、パイプラインを介してオブジェク
        トを渡します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   true (ByValue)
        ワイルドカード文字を許可する false
        
    -ListenerOption <TraceOptions>
        出力される各トレース メッセージのプレフィックスにオプション データを追加
        します。有効な値は、None、LogicalOperationStack、DateTime、Timestamp、Pr
        ocessId、ThreadId、および Callstack です。既定値は "None" です。
        
        複数のオプションを指定するには、スペースを入れずにコンマで各オプションを
        区切り、"ProcessID,ThreadID" のように二重引用符で囲みます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Name <string[]>
        トレースする Windows PowerShell コンポーネントを決定します。各コンポーネ
        ントのトレース ソースの名前を入力します。ワイルドカードを使用できます。
        コンピューター上のトレース ソースを見つけるには、「Get-TraceSource」と入
        力します。
        
        必須                         true
        位置                         1
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Option <PSTraceSourceOptions>
        トレース対象のイベントの種類を決定します。
        
        有効な値は、None、Constructor、Dispose、Finalizer、Method、Property、Del
        egates、Events、Exception、Lock、Error、Errors、Warning、Verbose、WriteL
        ine、Data、Scope、ExecutionFlow、Assert、および All です。既定値は All 
        です。
        
        以下の値は、上記の値を組み合わせたものです。
        
        -- ExecutionFlow: (Constructor、Dispose、Finalizer、Method、Delegates、E
           vents、および Scope)
        
        -- Data: (Constructor、Dispose、Finalizer、Property、Verbose、および Wri
           teLine)
        
        -- Errors: (Error および Exception)
        
        複数のオプションを指定するには、各オプションをスペースを入れずにコンマで
        区切り、"Constructor,Dispose" のように二重引用符で囲みます。
        
        必須                         false
        位置                         3
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -PSHost [<SwitchParameter>]
        トレースを Windows PowerShell ホストに出力します。このパラメーターによっ
        て、PSHost トレース リスナーも選択されます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    System.Management.Automation.PSObject
        式への入力を表すオブジェクトを Trace-Command に対してパイプ処理できます。
    
出力
    System.Management.Automation.PSObject
        コマンド トレースをデバッグ ストリームを使用して返します。
    
メモ
        トレースは、開発者がプログラムをデバッグおよび改良するときに使用する方法
        です。トレースを行うと、プログラムは内部処理の各手順について詳細なメッセ
        ージを生成します。
        
        Windows PowerShell のトレース用コマンドレットは、Windows PowerShell 開発
        者向けに設計されていますが、どのユーザーでも使用できます。トレース用コマ
        ンドレットを使用すると、シェルの機能のほぼすべての部分を監視できます。
        
        トレースが有効な Windows PowerShell コンポーネントを見つけるには、「Get-
        Help Get-TraceSource」と入力します。
        
        "トレース ソース" は各 Windows PowerShell コンポーネントの一部としてトレ
        ースを管理し、コンポーネントのトレース メッセージを生成します。コンポー
        ネントをトレースするには、そのトレース ソースを特定します。
        
        "トレース リスナー" は、トレースの出力を受け取り、ユーザーに表示します。
        トレース データの送り先として、ユーザー モードまたはカーネル モードのデ
        バッガー、ホストまたはコンソール、ファイルのほか、System.Diagnostics.Tra
        ceListener クラスから派生したカスタム リスナーのいずれかを選択できます。
        
        Command パラメーター セットを使用すると、Windows PowerShell はコマンドを
        パイプライン内で処理される場合と同じように処理します。たとえば、オブジェ
        クトを受け取るたびにコマンド探索が繰り返されることはありません。
        
        Name、Expression、Option、および Command パラメーターの名前はオプション
        です。パラメーター名を省略する場合は、名前のないパラメーター値を Name、E
        xpression、Option または Name、Command、-Option の順序で指定する必要があ
        ります。パラメーター名を指定する場合は、パラメーターの順序に決まりはあり
        ません。
    
    -------------------------- 例 1 --------------------------
    
    C:\PS>trace-command -name metadata,parameterbinding,cmdlet -expression {get-
    process notepad} -pshost
    
    説明
    -----------
    このコマンドは "get-process notepad" という式に対するメタデータ処理、パラメ
    ーター バインド、コマンドレットの作成および破壊のトレースを開始します。Name 
    パラメーターを使用してトレース ソースを指定し、Expression パラメーターを使用
    してコマンドを指定し、PSHost パラメーターを使用して出力をコンソールに送りま
    す。トレース オプションもリスナー オプションも指定されていないため、トレース 
    オプションには "All"、リスナー オプションには "None" という、それぞれの既定
    値が使用されます。
    
    -------------------------- 例 2 --------------------------
    
    C:\PS>trace-command -name commandprocessor,pipelineprocessor -command get-al
    ias -argumentlist "ghy" -option executionflow -listenerOption "timestamp,cal
    lstack" -filepath c:\test\debug.txt
    
    説明
    -----------
    このコマンドは、"get-alias cd" コマンドの処理中にコマンド プロセッサとパイプ
    ライン プロセッサのトレースを開始します。
    
    このコマンドは、Name パラメーターにトレース ソースを指定し、Command パラメー
    ターにコマンドを指定し、ArgumentList パラメーターに Get-Alias コマンドのパラ
    メーターを指定し、Option パラメーターにトレース オプションを指定し、Listener
    Option パラメーターにはトレース メッセージ プレフィックスのフィールドを指定
    しています。FilePath パラメーターを使用して、C:\Test\Debug.txt ファイルに出
    力を送っています。
    
    -------------------------- 例 3 --------------------------
    
    C:\PS>$a = "i*"
    
    C:\PS> trace-command parameterbinding {get-alias $input} -pshost -inputobject 
    $a
    
    説明
    -----------
    これらのコマンドは、パイプラインから入力を受け取る Get-Alias の式を処理する間
    に、Windows PowerShell の ParameterBinding 操作のアクションをトレースします。
    
    Trace-Command 内の InputObject パラメーターによって、トレース中に処理される式
    にオブジェクトが渡されます。
    
    最初のコマンドは、"i*" という文字列を $a 変数に保存します。2 番目のコマンドは、 
    ParameterBinding トレース ソースと Trace-Command コマンドレットを使用していま
    す。PSHost パラメーターを使用して、コンソールに出力を送っています。
    
    処理される式は "get-alias $input" です。ここで、$input 変数は InputObject パラ
    メーターと関連付けられています。InputObject パラメーターを使用して、変数 $a を
    式に渡しています。実質的に、トレース中に処理されるコマンドは、"get-alias -inpu
    tobject $a" または "$a | get-alias" となります。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=113419
    Get-TraceSource 
    Set-TraceSource 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、Trace-Command
ご利用数: 1858211
感想・要望・問い合わせは こちら