Import-Counter
パフォーマンス カウンター ログ ファイルをインポートし、ログ内の各カウンター サンプルを表すオブジェクトを作成します。
構文
Import-Counter
[-Path] <String[]>
[-StartTime <DateTime>]
[-EndTime <DateTime>]
[-Counter <String[]>]
[-MaxSamples <Int64>]
[<CommonParameters>]
Import-Counter
[-Path] <String[]>
-ListSet <String[]>
[<CommonParameters>]
Import-Counter
[-Path] <String[]>
[-Summary]
[<CommonParameters>]
説明
Import-Counter
コマンドレットは、パフォーマンス カウンター ログ ファイルからパフォーマンス カウンター データをインポートし、ファイル内のカウンター サンプルごとにオブジェクトを作成します。 作成する PerformanceCounterSampleSet オブジェクトは、パフォーマンス カウンター データを収集するときに返 Get-Counter
オブジェクトと同じです。
コンマ区切り値 (.csv
)、タブ区切り値 (.tsv
)、バイナリ パフォーマンス ログ (.blg
) パフォーマンス ログ ファイルからデータをインポートできます。 .blg
ファイルを使用している場合は、各コマンドで最大 32 個のファイルをインポートできます。 Import-Counter
のパラメーターを使用して、インポートするデータをフィルター処理できます。
この機能では、 Get-Counter
コマンドレットと Export-Counter
コマンドレットに加えて、Windows PowerShell 内でパフォーマンス カウンター データの収集、エクスポート、インポート、結合、フィルター処理、操作、および再エクスポートを行うことができます。
例
例 1: ファイルからすべてのカウンター データをインポートする
$data = Import-Counter -Path ProcessorData.csv
このコマンドは、 ProcessorData.csv
ファイルからすべてのカウンター データを $data
変数にインポートします。
例 2: ファイルから特定のカウンター データをインポートする
$i = Import-Counter -Path "ProcessorData.blg" -Counter "\\SERVER01\Processor(_Total)\Interrupts/sec"
このコマンドは、 "Processor(_total)\Interrupts/sec" カウンター データのみを ProcessorData.blg
ファイルから $i
変数にインポートします。
例 3: パフォーマンス カウンターからデータを選択し、ファイルにエクスポートする
この例では、パフォーマンス カウンター ログ ファイル (.blg
) からデータを選択し、選択したデータを .csv
ファイルにエクスポートする方法を示します。 最初の 4 つのコマンドは、ファイルからカウンター パスを取得し、 $data
という名前の変数に保存します。 最後の 2 つのコマンドは、選択されたデータをインポートし、選択されたデータのみをエクスポートします。
$data = Import-Counter .\ProcessorData.blg
$data[0].CounterSamples | Format-Table -Property 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
$intCtrs = $Data[0].Countersamples | Where-Object {$_.Path -like "*Interrupts/sec"} | ForEach-Object {$_.Path}
$intCtrs
\\SERVER01\Processor(_Total)\Interrupts/sec
\\SERVER01\Processor(1)\Interrupts/sec
\\SERVER01\Processor(0)\Interrupts/sec
$i = Import-Counter -Path .\ProcessorData.blg -Counter $intCtrs
$i | Export-Counter -Path .\Interrupts.csv -Format CSV
最初のコマンドでは、 Import-Counter
を使用して、 ProcessorData.blg
ファイルからすべてのパフォーマンス カウンター データをインポートします。 このコマンドは、 $data
変数にデータを保存します。
2 番目のコマンドは、 $data
変数にカウンター パスを表示します。 コマンド出力に表示される表示を取得するために、この例では、 Format-Table
コマンドレットを使用して、 $data
変数内の最初のカウンターのカウンター パスをテーブルとして書式設定します。
3 番目のコマンドは、 Interrupts/sec
で終わるカウンター パスを取得し、パスを $intCtrs
変数に保存します。 Where-Object
コマンドレットを使用してカウンター パスをフィルター処理し、ForEach-Object
コマンドレットを使用して、選択した各パス オブジェクトの Path プロパティの値のみを取得します。
4 番目のコマンドは、選択したカウンター パスを $intCtrs
変数に表示します。
5 番目のコマンドでは、 Import-Counter
コマンドレットを使用してデータをインポートします。 $intCtrs
変数を Counter パラメーターの値として使用して、$intCtrs
内のカウンター パスのデータのみをインポートします。
6 番目のコマンドでは、 Export-Counter
コマンドレットを使用して、 Interrupts.csv
ファイルにデータをエクスポートします。
例 4: インポートされたカウンター・セットのグループ内のすべてのカウンター・パスを表示する
この例は、インポートされたカウンター セットのグループに含まれているカウンター パスをすべて表示する方法を示しています。
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...}
Import-Counter -Path ProcessorData.csv -ListSet * | ForEach-Object {$_.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
最初のコマンドでは、Import-Counter
コマンドレットの ListSet パラメーターを使用して、カウンター データ ファイルで表されるすべてのカウンター セットを取得します。
2 番目のコマンドは、リスト セットからすべてのカウンター パスを取得します。
例 5: タイムスタンプの範囲からカウンター データをインポートする
次の使用例は、コマンドで指定された終了範囲の開始間にタイムスタンプが設定されているカウンター データのみをインポートします。
Import-Counter -Path ".\disk.blg" | Format-Table -Property Timestamp
$start = [datetime]"7/9/2008 3:47:00 PM"; $end = [datetime]"7/9/2008 3:47:59 PM"
Import-Counter -Path Disk.blg -StartTime $start -EndTime $end
最初のコマンドは、 ProcessorData.blg
ファイル内のすべてのデータのタイムスタンプをテーブルに一覧表示します。
2 番目のコマンドは、特定のタイムスタンプを $start
変数と $end
変数に保存します。 文字列は、 DateTime オブジェクトにキャストされます。
3 番目のコマンドでは、 Import-Counter
コマンドレットを使用して、開始時刻と終了時刻の間にタイム スタンプがあるカウンター データのみを取得します (両端を含む)。 このコマンドでは、Import-Counter
の StartTime パラメーターと EndTime パラメーターを使用して範囲を指定します。
例 6: パフォーマンス カウンター ログ ファイルから指定された数の最も古いサンプルをインポートする
この例は、最も古いファイル 5 つと最も新しいファイル 5 つをパフォーマンス カウンター ログ ファイルからインポートする方法を示しています。
Import-Counter -Path "Disk.blg" -MaxSamples 5
(Import-Counter -Path Disk.blg)[-1 .. -5]
最初のコマンドでは、 Import-Counter
コマンドレットを使用して、 Disk.blg
ファイルから最初の (最も古い) 5 つのサンプルをインポートします。 このコマンドでは、 MaxSamples パラメーターを使用して、インポートを 5 つのカウンター サンプルに制限します。
2 番目のコマンドでは、配列表記と Windows PowerShell 範囲演算子 (..
) を使用して、ファイルから最後の 5 つのカウンター サンプルを取得します。 これらは、最新の 5 つのサンプルです。
例 7: ファイルからカウンター データの概要を取得する
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
このコマンドは、Import-Counter
コマンドレットの Summary パラメーターを使用して、Memory.blg
ファイル内のカウンター データの概要を取得します。
例 8: パフォーマンス カウンター ログ ファイルを更新する
この例は、パフォーマンス カウンター ログ ファイルを更新します。
$counters = Import-Counter OldData.blg -ListSet * | ForEach-Object {$_.PathsWithInstances}
Get-Counter -Counter $Counters -MaxSamples 20 | Export-Counter C:\Logs\NewData.blg
最初のコマンドでは、Import-Counter
の ListSet パラメーターを使用して、既存のカウンター ログ ファイルである OldData.blg
内のカウンターを取得します。 このコマンドでは、パイプライン演算子 (|
) を使用して、各オブジェクトの PathsWithInstances プロパティの値のみを取得するForEach-Object
コマンドにデータを送信します。
2 番目のコマンドは、 $counters
変数内のカウンターの更新されたデータを取得します。 Get-Counter
コマンドレットを使用して現在のサンプルを取得し、結果をNewData.blg
ファイルにエクスポートします。
例 9: 複数のファイルからパフォーマンス ログ データをインポートして保存する
$counters = "D:\test\pdata.blg", "D:\samples\netlog.blg" | Import-Counter
このコマンドは、2 つのログからパフォーマンス ログ データをインポートし、 $counters
変数にデータを保存します。 このコマンドは、パイプライン演算子 (|) を使用して、パフォーマンス ログ パスを Import-Counter に送信します。Import-Counter は、指定されたそのパスからデータをインポートします。
各パスが引用符で囲まれており、パスが互いにコンマで区切られていることに注意してください。
パラメーター
-Counter
文字列配列としてパフォーマンス カウンターを指定します。 既定では、 Import-Counter
は入力ファイル内のすべてのカウンターからすべてのデータをインポートします。 1 つまたは複数のカウンター パスを入力します。 ワイルドカードはパスの 部分で使用できます。
各カウンター パスの形式は、次のとおりです。 パスには ComputerName
値が必要です。 次に例を示します。
\\<ComputerName>\<CounterSet>(<Instance>)\<CounterName>
次に例を示します。
\\Server01\Processor(2)\% User Time
\\Server01\Processor(*)\% Processor Time
型: | String[] |
配置: | Named |
規定値: | All counter |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-EndTime
このコマンドレットが StartTime とこのパラメータータイムスタンプの間でカウンター データをインポートする終了日時を指定します。 Get-Date
コマンドレットによって作成されたオブジェクトなど、DateTime オブジェクトを入力します。 既定では、 Import-Counter
は、 Path パラメーターで指定されたファイル内のすべてのカウンター データをインポートします。
型: | DateTime |
配置: | Named |
規定値: | No end time |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ListSet
エクスポートされたファイルで表されるパフォーマンス カウンター セットを指定します。 このパラメーターを指定したコマンドは、データをインポートしません。
1 つ以上のカウンター セット名を入力します。 ワイルドカードを使用できます。 ファイル内のすべてのカウンター セットを取得するには、「 Import-Counter -ListSet *
」と入力します。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-MaxSamples
インポートする各カウンターのサンプルの最大数を指定します。 既定では、 Get-Counter
は、 Path パラメーターで指定されたファイル内のすべてのデータをインポートします。
型: | Int64 |
配置: | Named |
規定値: | No maximum |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Path
インポートするファイルのファイル パスを指定します。 このパラメーターは必須です。
Export-Counter
コマンドレットを使用してエクスポートしたファイル、.csv
、.tsv
、または.blg
ファイルのパスとファイル名を入力します。 指定できる .csv
または .tsv
ファイルは 1 つだけですが、各コマンドで複数の .blg
ファイル (最大 32 個) を指定できます。 ファイル パス文字列を引用符で囲んでパイプ処理して、 Import-Counter
することもできます。
型: | String[] |
Aliases: | PSPath |
配置: | 1 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | True |
-StartTime
このコマンドレットがカウンター データを取得する開始日時を指定します。 Get-Date
コマンドレットによって作成されたオブジェクトなど、DateTime オブジェクトを入力します。 既定では、 Import-Counter
は、 Path パラメーターで指定されたファイル内のすべてのカウンター データをインポートします。
型: | DateTime |
配置: | Named |
規定値: | No start time |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Summary
このコマンドレットは、個々のカウンター データ サンプルを取得するのではなく、インポートされたデータの概要を取得することを示します。
型: | SwitchParameter |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
パフォーマンス カウンター ログ パスをこのコマンドレットにパイプできます。
出力
Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet, Microsoft.PowerShell.Commands.GetCounter.CounterSet, Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo
このコマンドレットは、 Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet を返します。 ListSet パラメーターを使用すると、このコマンドレットは Microsoft.PowerShell.Commands.GetCounter.CounterSet オブジェクトを返します。 Summary パラメーターを使用すると、このコマンドレットは Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo オブジェクトを返します。
メモ
- このコマンドレットには、 ComputerName パラメーターがありません。 ただし、コンピューターが Windows PowerShell リモート処理用に構成されている場合は、
Invoke-Command
コマンドレットを使用して、リモート コンピューターでImport-Counter
コマンドを実行できます。
関連リンク
PowerShell