1

Get-Counter '\PhysicalDisk(*)\% Idle Time', '\LogicalDisk(*)\Free Megabytes','\PhysicalDisk(*)\Avg. Disk sec/Read','\PhysicalDisk(*)\Avg. Disk Queue Length'|Select-Object -expandProperty countersamples|Select-Object -Property instancename, cookedvalue | ft -AutoSize磁盤計數器表格格式

我如何可以格式化輸出‘像這樣的獲取計數器’命令。

enter image description here

回答

2
$counters="\PhysicalDisk(*)\% Idle Time","\PhysicalDisk(*)\Avg. Disk sec/Read","\PhysicalDisk(*)\Avg. Disk Queue Length","\PhysicalDisk(*)\Avg. Disk sec/Write" 
Get-Counter $counters |Select-Object -expandProperty CounterSamples | group InstanceName | foreach{ 
    $ht=New-Object System.Collections.Specialized.OrderedDictionary 
    $ht.Add("Drive",$_.Name.ToUpper().Replace("_","")) 
    foreach($item in $_.Group){ 
     $perfCName=$item.Path.Replace(("(" + $item.InstanceName + ")"),"").Split("\")[3,4] -join "\" 
     $ht.Add($perfCName,$item.CookedValue) 
    } 
    New-Object PSObject -Property $ht 
} | ft