0

ここに私の機能が何をするかがあります

{
$input|Foreach-Object{Get-WmiObject -computername $_ win32_processor | Measure-Object -property LoadPercentage -Average | Select SystemName, Average}
}

その最後のパイプラインに SystemName を配置できないことは承知しています。システム名を含む結果に別の列を追加するにはどうすればよいですか。また、メモリ使用量用の別のコードがあり、これら 2 つのコード (CPU とメモリ使用量) を組み合わせたいと考えています。

 {   
$input|Foreach-Object{Get-WmiObject -computername $_ -Query "SELECT FreePhysicalMemory,TotalVisibleMemorySize FROM Win32_OperatingSystem" | Select FreePhysicalMemory,TotalVisibleMemorySize
}
4

2 に答える 2

0

スクリプトを作成している場合、1 つのコマンドですべてを実行する必要はありません。ベストプラクティス #12

PowerShell コマンドレットまたは関数から情報を出力する正しい方法は、データを含むオブジェクトを作成し、Write-Output を使用してそのオブジェクトをパイプラインに書き込むことです。

$pcs | % {New-Object -Typename psobject -Property @{'System'=$_;'Average'=((Get-WMIObject -ComputerName $_ -Class win32_processor | Measure-Object -property LoadPercentage -Average).Average);}}
于 2013-03-21T20:55:53.477 に答える
0

このようなもの?

$input|
Foreach-Object {
 Get-WmiObject -computername $_ -Query "SELECT __Server,FreePhysicalMemory,TotalVisibleMemorySize FROM Win32_OperatingSystem" |
  Select @{l='SystemName';e={$_.__Server}},FreePhysicalMemory,TotalVisibleMemorySize
}
于 2013-03-21T15:06:36.217 に答える