Import-Counter
パフォーマンス カウンター ログ ファイルをインポートし、ログ内の各カウンター サンプルを表すオブジェクトを作成します。
構文
GetCounterSet (既定)
Import-Counter
[-Path] <String[]>
[-StartTime <DateTime>]
[-EndTime <DateTime>]
[-Counter <String[]>]
[-MaxSamples <Int64>]
[<CommonParameters>]
ListSetSet
Import-Counter
[-Path] <String[]>
-ListSet <String[]>
[<CommonParameters>]
SummarySet
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 パラメーターを使用して、カウンター データ ファイルで表されるすべてのカウンター セットを取得します。
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 コマンドレットを使用して、開始時刻と終了時刻の間にタイム スタンプを持つカウンター データのみを取得します (両端を含む)。 このコマンドは、StartTime を使用し、 の EndTime Import-Counter して範囲を指定します。
例 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 パラメーターを使用して、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 パラメーターを使用して、既存のカウンター ログ ファイルである OldData.blg内のカウンターを取得します。 このコマンドでは、パイプライン演算子 (|) を使用して、各オブジェクトの ForEach-Object プロパティの値のみを取得する コマンドにデータを送信します。
2 番目のコマンドは、$counters 変数内のカウンターの更新されたデータを取得します。
Get-Counter コマンドレットを使用して現在のサンプルを取得し、結果を NewData.blg ファイルにエクスポートします。
例 9: 複数のファイルからパフォーマンス ログ データをインポートして保存する
$counters = "D:\test\pdata.blg", "D:\samples\netlog.blg" | Import-Counter
このコマンドは、2 つのログからパフォーマンス ログ データをインポートし、$counters 変数にデータを保存します。 このコマンドでは、パイプライン 演算子を使用して、パフォーマンス ログ パスを Import-Counter に送信します。このパスは、指定されたパスからデータをインポートします。
各パスは引用符で囲まれており、パスはコンマで区切られています。
パラメーター
-Counter
文字列配列としてパフォーマンス カウンターを指定します。 既定では、Import-Counter は入力ファイル内のすべてのカウンターからすべてのデータをインポートします。 1 つ以上のカウンター パスを入力します。 パスのインスタンス部分ではワイルドカードを使用できます。
各カウンター パスの形式は次のとおりです。 パスには ComputerName 値が必要です。 たとえば、次のようになります。
\\<ComputerName>\<CounterSet>(<Instance>)\<CounterName>
例えば次が挙げられます。
\\Server01\Processor(2)\% User Time\\Server01\Processor(*)\% Processor Time
パラメーターのプロパティ
| 型: | String[] |
| 規定値: | All counter |
| ワイルドカードのサポート: | True |
| DontShow: | False |
パラメーター セット
GetCounterSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-EndTime
このコマンドレットが、StartTime とこのパラメータータイムスタンプの間でカウンター データをインポートする終了日時を指定します。
コマンドレットによって作成されたものなど、Get-Date オブジェクトを入力します。 既定では、Import-Counter は、Path パラメーターで指定されたファイル内のすべてのカウンター データをインポートします。
パラメーターのプロパティ
| 型: | DateTime |
| 規定値: | No end time |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
GetCounterSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-ListSet
エクスポートされたファイルで表されるパフォーマンス カウンター セットを指定します。 このパラメーターを指定したコマンドでは、データはインポートされません。
1 つ以上のカウンター セット名を入力します。 ワイルドカードを使用できます。 ファイル内のすべてのカウンター セットを取得するには、「Import-Counter -ListSet *」と入力します。
パラメーターのプロパティ
| 型: | String[] |
| 規定値: | None |
| ワイルドカードのサポート: | True |
| DontShow: | False |
パラメーター セット
ListSetSet
| 配置: | Named |
| 必須: | True |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-MaxSamples
インポートする各カウンターのサンプルの最大数を指定します。 既定では、Get-Counter は、Path パラメーターで指定されたファイル内のすべてのデータをインポートします。
パラメーターのプロパティ
| 型: | Int64 |
| 規定値: | No maximum |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
GetCounterSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Path
インポートするファイルのファイル パスを指定します。 このパラメーターは必須です。
.csv コマンドレットを使用してエクスポートしたファイル、.tsv、.blg、または Export-Counter ファイルのパスとファイル名を入力します。 指定できる .csv または .tsv ファイルは 1 つだけですが、各コマンドで複数の .blg ファイル (最大 32 個) を指定できます。 また、ファイル パス文字列を引用符で囲んでパイプ処理して、Import-Counterすることもできます。
パラメーターのプロパティ
| 型: | String[] |
| 規定値: | None |
| ワイルドカードのサポート: | True |
| DontShow: | False |
| Aliases: | PSPath |
パラメーター セット
(All)
| 配置: | 1 |
| 必須: | True |
| パイプラインからの値: | True |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-StartTime
このコマンドレットがカウンター データを取得する開始日時を指定します。
コマンドレットによって作成されたものなど、Get-Date オブジェクトを入力します。 既定では、Import-Counter は、Path パラメーターで指定されたファイル内のすべてのカウンター データをインポートします。
パラメーターのプロパティ
| 型: | DateTime |
| 規定値: | No start time |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
GetCounterSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Summary
このコマンドレットは、個々のカウンター データ サンプルを取得するのではなく、インポートされたデータの概要を取得することを示します。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | False |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
SummarySet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
CommonParameters
このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。
入力
String
パフォーマンス カウンター ログ パスをこのコマンドレットにパイプできます。
出力
Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet, Microsoft.PowerShell.Commands.GetCounter.CounterSet, Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo
このコマンドレットは、Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet
メモ
- このコマンドレットには、ComputerName パラメーターがありません。 ただし、コンピューターが Windows PowerShell リモート処理用に構成されている場合は、
Invoke-Commandコマンドレットを使用して、リモート コンピューターでImport-Counterコマンドを実行できます。