PowerShell Cmdlet - Import-Counter
 記事記号:[mg1905] 初版:2011/Sep/30

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

名前
    Import-Counter
    
概要
    パフォーマンス カウンター ログ ファイル (.blg、.csv、.tsv) をインポートし、
    ログの各カウンター サンプルを表すオブジェクトを作成します。
    
構文
    Import-Counter [-Path] <string[]> [-Counter <string[]>] [-EndTime <DateTime>
    ] [-MaxSamples <Int64>] [-StartTime <DateTime>] [<CommonParameters>]
    
    Import-Counter [-Path] <string[]> -ListSet <string[]> [<CommonParameters>]
    
    Import-Counter [-Path] <string[]> -Summary <switch> [<CommonParameters>]
    
説明
    Import-Counter コマンドレットは、パフォーマンス カウンター ログ ファイルから
    パフォーマンス カウンター データをインポートし、ファイルの各カウンター サン
    プルに対してオブジェクトを作成します。作成される PerformanceCounterSampleSet 
    オブジェクトは、パフォーマンス カウンター データを収集するときに Get-Counter 
    が返すオブジェクトと同じです。
    
    データは、コンマ区切り (.csv)、タブ区切り (.tsv)、およびバイナリ パフォーマ
    ンス ログ (.blg) のパフォーマンス ログ ファイルからインポートできます。.blg 
    ファイルを使用する場合は、各コマンドに複数のファイル (最大 32 個の異なるファ
    イル) をインポートできます。また、Import-Counter のパラメーターを使用して、
    インポートしたデータをフィルター処理できます。
    
    この機能を Get-Counter および Export-Counter と共に使用すると、Windows Power
    Shell 内でパフォーマンス カウンター データの収集、エクスポート、インポート、
    結合、フィルター処理、操作、および再エクスポートを実行できます。
    
パラメーター
    -Counter <string[]>
        指定されたパフォーマンス カウンターのデータのみをインポートします。既定
        では、Import-Counter は入力ファイルに含まれるすべてのカウンターからすべ
        てのデータをインポートします。1 つ以上のカウンター パスを入力します。ワ
        イルドカードはパスの Instance 部分で使用できます。
        
        各カウンター パスの形式は、次のとおりです。ローカル コンピューター上であ
        っても、パスに ComputerName 値が必要であることに注意してください。
               "\\<ComputerName>\<CounterSet>(<Instance>)\<CounterName>"
        
        次にその例を示します。
                "\\Server01\Processor(2)\% User Time"
                "\Processor(*)\% Processor Time
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する true
        
    -EndTime <DateTime>
        タイムスタンプが指定した日時以前であるカウンター データのみをインポート
        します。Get-Date コマンドレットによって作成されるような DateTime オブジ
        ェクトを入力します。既定では、Import-Counter は Path パラメーターで指定
        されたファイルに含まれるすべてのカウンター データをインポートします。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -ListSet <string[]>
        エクスポート ファイルで表されているパフォーマンス カウンター セットを取
        得します。このパラメーターを指定したコマンドは、データをインポートしま
        せん。
        
        1 つ以上のカウンター セット名を入力します。ワイルドカードを使用できます。
        ファイルにあるすべてのカウンター セットを取得するには、「import-counter 
        -listset *」と入力します。
        
        必須                         true
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する true
        
    -MaxSamples <Int64>
        インポートする各カウンターのサンプルの最大数を指定します。既定では、Get-
        Counter は Path パラメーターで指定されたファイルに含まれるすべてのデータ
        をインポートします。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Path <string[]>
        インポートするファイルのファイル パスを指定します。このパラメーターは必
        須です。
        
        Export-Counter コマンドレットを使用してエクスポートした .csv、.tsv、また
        は .blg ファイルのパスおよびファイル名を入力します。各コマンドにおいて、
        .csv または .tsv ファイルでは 1 つのファイルのみを指定でき、.blg ファイ
        ルでは複数のファイル (最大 32 個) を指定できます。パイプを使用してファイ
        ル パス文字列 (引用符内) を Import-Counter に渡すこともできます。
        
        必須                         true
        位置                         2
        既定値                       
        パイプライン入力を許可する   true (ByValue)
        ワイルドカード文字を許可する true
        
    -StartTime <DateTime>
        タイムスタンプが指定した日時以後であるカウンター データのみをインポート
        します。Get-Date コマンドレットによって作成されるような DateTime オブジ
        ェクトを入力します。既定では、Import-Counter は Path パラメーターで指定
        されたファイルに含まれるすべてのカウンター データをインポートします。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Summary <switch>
        個々のカウンター データ サンプルを取得する代わりに、インポートされたデー
        タの要約を取得します。
        
        必須                         true
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    System.String
        パイプを使用して、パフォーマンス カウンター ログ パスを Import-Counter 
        に渡すことができます。
    
出力
    Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet、Micros
    oft.PowerShell.Commands.GetCounter.CounterSet、Microsoft.PowerShell.Commands
    .GetCounter.CounterFileInfo
        既定では、Import-Counter は Microsoft.PowerShell.Commands.GetCounter.Per
        formanceCounterSampleSet を返します。ListSet パラメーターを使用した場合、
        Import-Command は Microsoft.PowerShell.Commands.GetCounter.CounterSet オ
        ブジェクトを返します。Summary パラメーターを使用した場合、Import-Command 
        は Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo オブジェクト
        を返します。
    
メモ
        Import-Counter コマンドレットには、ComputerName パラメーターがありません。
        ただし、コンピューターが Windows PowerShell リモート処理用に構成されてい
        る場合は、Invoke-Command コマンドレットを使用して Import-Counter コマン
        ドをリモート コンピューター上で実行できます。
    
    -------------------------- 例 1 --------------------------
    
    C:\PS># Import-Counter
    
    説明
    -----------
    このコマンドは、ProcessorData.csv ファイルからすべてのカウンター データを $d
    ata 変数にインポートします。
    
    C:\PS> $data = import-counter -path ProcessorData.csv
    
    -------------------------- 例 2 --------------------------
    
    C:\PS># Import-Counter
    
    説明
    -----------
    このコマンドは、ProcessorData.blg ファイルから Processor(_total)\Interrupts\
    sec カウンター データのみを $i 変数にインポートします。
    
    C:\PS> $i = import-counter -path ProcessorData.blg -counter "\\SERVER01\Proc
    essor(_Total)\Interrupts/sec"
    
    -------------------------- 例 3 --------------------------
    
    C:\PS># Import-Counter
    
    説明
    -----------
    この例では、パフォーマンス カウンター ログ ファイル (.blg) からデータを選択
    して、選択したデータを .csv ファイルにエクスポートする方法を示します。
    
    最初の 4 つのコマンドは、ファイルからカウンター パスを取得して、変数に保存し
    ます。最後の 2 つのコマンドは、選択したデータをインポートし、選択したデータ
    のみをエクスポートします。
    
    最初のコマンドは、Import-Counter を使用して、ProcessorData.blg ファイルから
    すべてのパフォーマンス カウンター データをインポートします。このコマンドは、
    データを $data 変数に保存します。
    
    C:\PS> $data = import-counter .\processordata.blg
    
    2 番目のコマンドは $data 変数に保存されているカウンター パスを表示します。内
    容は、コマンドの出力に表示されます。
    
    C:\PS> $data[0].countersamples | format-table path
    
    Path
    ----
    \\SERVER01\Processor(_Total)\DPC Rate
    \\SERVER01\Processor(1)\DPC Rate
    \\SERVER01\Processor(0)\DPC Rate
    \\SERVER01\Processor(_Total)\% Idle Time
    \\SERVER01\Processor(1)\% Idle Time
    \\SERVER01\Processor(0)\% Idle Time
    \\SERVER01\Processor(_Total)\% C3 Time
    \\SERVER01\Processor(1)\% C3 Time
    ...
    
    3 番目のコマンドは、"Interrupts/sec" で終了するカウンター パスを取得して、そ
    のパスを $IntCtrs 変数に保存します。
    
    C:\PS> $IntCtrs = $data[0].countersamples | where {$_.path -like "*interrupt
    s/sec"} | foreach {$_.path}
    
    4  番目のコマンドは、選択されたカウンター パスを表示します。
    
    C:\PS> $IntCtrs
    
    \\SERVER01\Processor(_Total)\Interrupts/sec
    \\SERVER01\Processor(1)\Interrupts/sec
    \\SERVER01\Processor(0)\Interrupts/sec
    
    5 番目のコマンドは Import-Counter コマンドレットを使用してデータをインポート
    します。このコマンドは、Counter パラメーターと $IntCtrs 変数を使用して、$Int
    Ctrs に保存されているカウンター パスのデータのみをインポートします。
    
    C:\PS> $i = import-counter -path .\processordata.blg -counter $intCtrs
    
    6 番目のコマンドは Export-Counter コマンドレットを使用してデータをエクスポ
    ートします。
    
    C:\PS> $i | export-counter -path .\interrupts.csv -format CSV
    
    -------------------------- 例 4 --------------------------
    
    C:\PS># Import-Counter
    
    説明
    -----------
    この例は、インポートされたカウンター セットのグループに含まれているカウンタ
    ー パスをすべて表示する方法を示しています。
    
    最初のコマンドは、ListSet パラメーターを使用して、カウンター データ ファイル
    で表されているすべてのカウンター セットを取得します。
    
    C:\PS> import-counter -path processordata.csv -listset *
    
    CounterSetName     : Processor
    MachineName        : \\SERVER01
    CounterSetType     : MultiInstance
    Description        :
    Paths              : {\\SERVER01\Processor(*)\DPC Rate, \\SERVER01\Processor
                         (*)\% Idle Time, \\SERVER01\Processor(*)\% C3 Time, \\S
                         ERVER01\Processor(*)\% Interrupt Time...}
    PathsWithInstances : {\\SERVER01\Processor(_Total)\DPC Rate, \\SERVER01\Proc
                         essor(1)\DPC Rate, \\SERVER01\Processor(0)\DPC Rate, \\
                         SERVER01\Processor(_Total)\% Idle Time...}
    Counter            : {\\SERVER01\Processor(*)\DPC Rate, \\SERVER01\Processor
                         (*)\% Idle Time, \\SERVER01\Processor(*)\% C3 Time, \\S
                         ERVER01\Processor(*)\% Interrupt Time...}
    
    2 番目のコマンドは、リスト セットからすべてのカウンター パスを取得します。
    
    C:\PS> import-counter -path processordata.csv -listset * | foreach {$_.paths}
    
    \\SERVER01\Processor(*)\DPC Rate
    \\SERVER01\Processor(*)\% Idle Time
    \\SERVER01\Processor(*)\% C3 Time
    \\SERVER01\Processor(*)\% Interrupt Time
    \\SERVER01\Processor(*)\% C2 Time
    \\SERVER01\Processor(*)\% User Time
    \\SERVER01\Processor(*)\% C1 Time
    \\SERVER01\Processor(*)\% Processor Time
    \\SERVER01\Processor(*)\C1 Transitions/sec
    \\SERVER01\Processor(*)\% DPC Time
    \\SERVER01\Processor(*)\C2 Transitions/sec
    \\SERVER01\Processor(*)\% Privileged Time
    \\SERVER01\Processor(*)\C3 Transitions/sec
    \\SERVER01\Processor(*)\DPCs Queued/sec
    \\SERVER01\Processor(*)\Interrupts/sec
    
    -------------------------- 例 5 --------------------------
    
    C:\PS># Import-Counter
    
    説明
    -----------
    この例では、タイムスタンプがコマンドで指定された開始日時と終了日時の間である
    カウンター データのみをインポートします。
    
    最初のコマンドは、ProcessorData.blg ファイルのすべてのデータのタイムスタンプ
    を一覧表示します。
    
      C:\PS> import-counter -path .\disk.blg | format-table timestamp
    
    2 番目と 3 番目のコマンドは、特定のタイムスタンプを $start および $end 変数 
    に保存します。これらの文字列は DateTime オブジェクトにキャストされます。
    
      C:\PS> $start = [datetime]"7/9/2008 3:47:00 PM"
      C:\PS> $end = [datetime]"7/9/2008 3:47:59 PM"
    
    4 番目のコマンドは、Import-Counter を使用してタイムスタンプが開始日時と終了
    日時の間 (境界を含む) であるカウンター データのみを取得します。このコマンド
    は、StartTime パラメーターおよび EndTime パラメーターを使用して、範囲を指定
    しています。
    
      C:\PS> $t-data = import-counter -path disk.blg -starttime $start -endtime 
      $end
    
    -------------------------- 例 6 --------------------------
    
    C:\PS># Import-Counter
    
    説明
    -----------
    この例は、最も古いファイルから古い順にファイル 5 個と最も新しいファイルから
    新しい順にファイル 5 個をパフォーマンス カウンター ログ ファイルからインポー
    トする方法を示しています。
    
    最初のコマンドは、Import-Counter コマンドレットを使用して Disk.blg ファイルか
    らデータをインポートします。さらに、MaxSamples パラメーターを使用して、インポ
    ートされるカウンター サンプルの数を 5 個に制限します。最初の (最も古いものか
    ら数えて) 5 個のサンプルがファイルから取得されます。
    
    C:\PS> import-counter -path disk.blg -maxSamples 5
    
    2 番目のコマンドは、配列表記と Windows PowerShell 範囲演算子 (..) を使用して、
    ファイルから最後の 5 個のカウンター サンプルを取得します。これらのサンプルが
    最も新しいものから数えて 5 個のサンプルになります。
    
    C:\PS> (import-counter -path disk.blg)[-1 ..-5]
    
    -------------------------- 例 7 --------------------------
    
    C:\PS># Import-Counter
    
    説明
    -----------
    このコマンドは、Summary パラメーターを使用して、カウンター データの概要を Me
    mory.blg ファイルから取得します。
    
    C:\PS> import-counter D:\Samples\memory.blg -summary
    
    OldestRecord            NewestRecord            SampleCount
    ------------            ------------            -----------
    7/10/2008 2:59:18 PM    7/10/2008 3:00:27 PM    1000
    
    -------------------------- 例 8 --------------------------
    
    C:\PS># Import-Counter
    
    説明
    -----------
    この例では、パフォーマンス カウンター ログ ファイルを更新します。
    
    最初のコマンドは、Import-Counter の ListSet パラメーターを使用して、既存のカ
    ウンター ログ ファイルである OldData.blg からカウンターを取得します。このコ
    マンドは、パイプライン演算子 (|) を使用して、各オブジェクトの PathsWithInsta
    nces プロパティの値のみを取得する Foreach-Object コマンドにデータを送信しま
    す。
    
    C:\PS> $counters = import-counter olddata.blg -ListSet * | foreach {$_.Paths
    WithInstances}
    
    2 番目のコマンドは、最初のコマンドと同じカウンターを新しい Get-Counter コマ
    ンドで使用して現在のサンプルを取得し、NewData.blg ファイルにエクスポートしま
    す。
    
    C:\PS> get-counter -counter $counters -maxSamples 20 | export-counter c:\Log
    s\newdata.blg
    
    -------------------------- 例 9 --------------------------
    
    C:\PS># Import-Counter
    
    説明
    -----------
    このコマンドは、2 つのログからパフォーマンス ログ データをインポートし、デー
    タを $counters 変数に保存します。このコマンドは、パイプライン演算子 (|) を使
    用してパフォーマンス ログ パスを Import-Counter に送信します。
    
    C:\PS> $counters = "d:\test\pdata.blg", "d:\samples\netlog.blg" | import-cou
    nter
    
    各パスが引用符で囲まれており、パスが互いにコンマで区切られていることに注意し
    てください。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=138338
    Get-Counter 
    Export-Counter 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、Import-Counter
ご利用数: 1914006
感想・要望・問い合わせは こちら