0

Windows 7のperfmon.exeで、powershellに特定の情報を含むcsvファイルを作成させようとしています

ほとんどは機能しますが、3 つのカウンターを無視しているようです。

スクリプトは次のようになります。

$SampleInterval="4"
$MaxSamples="15"
$FileDestinationFolder="C:\Perfmon"
$date = (Get-Date).ToShortDateString()
Get-Counter 
$gc = ('\Network Interface(`*)\Current Bandwith', 
        '\Network Interface(`*)\Packets Recieved/sec',
        '\Network Interface(`*)\Packets Sent/sec',
        '\PhysicalDisk(_Total)\Disk Write Bytes/sec',
        '\PhysicalDisk(_Total)\Disk Read Bytes/sec',
        '\Processor(_Total)\% Processor Time',
        '\Processor(_Total)\% Idle Time',
        '\Memory\% Committed Bytes In Use',  
        '\Memory\Available MBytes')
Get-Counter -counter $gc -SampleInterval $SampleInterval -MaxSamples $MaxSamples | export-counter -force -path ("$FileDestinationFolder\PerfMon-$date.csv") -FileFormat csv

PhysicalDisk、プロセッサ、およびメモリの統計情報は得られますが、ネットワーク インターフェイスの統計情報は得られません。Network Interface のパスは、Data Collector 自体から取得されます。これがなぜそうなのか、手がかりはありますか?

編集 - それらを単独で読み取ると、Powershell ISE のすべてのネットワーク インターフェイスが出力されますが、内容が csv ファイルに書き込まれないことがわかります。

出力の例は

Timestamp CounterSamples
--------- --------------
06-12-2012 15:13:30 \dkspare03\network interface(intel[r] 82577lm ギガビット ネットワーク接続)\バイト合計/秒:
27101,2080498825

                      \\dkspare03\network interface(intel[r] centrino[r] ad
                      vanced-n 6200 agn)\bytes total/sec :                 
                      0

現在、Network Interface には、どの NIC を読み取るかを示すエスケープ文字があります。持っていない場合、powershell は次のようにエラーを表示します。

Get-Counter : 内部パフォーマンス カウンター API 呼び出しに失敗しました。エラー: c0000bb9。行:38 文字:12 + Get-Counter <<<< -counter $gc -SampleInterval $SampleInterval -MaxSamples $M axSamples | export-counter -force -path ("$FileDestinationFolder\PerfMon-$date.csv") -FileFormat csv + CategoryInfo : InvalidResult: (:) [Get-Counter], Exception + FullyQualifiedErrorId : CounterApiError,Microsoft.PowerShell.Commands.Ge tCounterCommand

4

1 に答える 1

1

カウンターには Powershell 3.0 が必要なようでした。日付変数は、ファイルとフォルダーの命名でさらに問題が発生しないように編集されました。さらに、「受信済み」を「受信済み」に変更する必要がありました。

于 2012-12-06T16:05:29.127 に答える