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 PowerShell 内でパフォーマンス カウンター データの収集、エクスポート、インポート、結合、フィルター処理、操作、および再エクスポートを実行できます。
パラメーター
-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、-OutBuffer、および -OutVariable。詳細については、次を参照してください: about_Commonparameters.
入力と出力
入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。
入力 |
System.String パイプを使用して、パフォーマンス カウンター ログ パスを Import-Counter に渡すことができます。 |
出力 |
Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet、Microsoft.PowerShell.Commands.GetCounter.CounterSet、Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo 既定では、Import-Counter は Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet を返します。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 ファイルからすべてのカウンター データを $data 変数にインポートします。
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\Processor(_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 "*interrupts/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 変数を使用して、$IntCtrs に保存されているカウンター パスのデータのみをインポートします。
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, \\SERVER01\Processor(*)\% Interrupt Time...}
PathsWithInstances : {\\SERVER01\Processor(_Total)\DPC Rate, \\SERVER01\Processor(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, \\SERVER01\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 パラメーターを使用して、カウンター データの概要を Memory.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 からカウンターを取得します。このコマンドは、パイプライン演算子 (|) を使用して、各オブジェクトの PathsWithInstances プロパティの値のみを取得する Foreach-Object コマンドにデータを送信します。
C:\PS> $counters = import-counter olddata.blg -ListSet * | foreach {$_.PathsWithInstances}
2 番目のコマンドは、最初のコマンドと同じカウンターを新しい Get-Counter コマンドで使用して現在のサンプルを取得し、NewData.blg ファイルにエクスポートします。
C:\PS> get-counter -counter $counters -maxSamples 20 | export-counter c:\Logs\newdata.blg
例 9
C:\PS># Import-Counter
説明
-----------
このコマンドは、2 つのログからパフォーマンス ログ データをインポートし、データを $counters 変数に保存します。このコマンドは、パイプライン演算子 (|) を使用してパフォーマンス ログ パスを Import-Counter に送信します。
C:\PS> $counters = "d:\test\pdata.blg", "d:\samples\netlog.blg" | import-counter
各パスが引用符で囲まれており、パスが互いにコンマで区切られていることに注意してください。