我尝试以毫秒为单位检索每次传输的平均磁盘秒数。使用WMI。以下是片段。但是我没有使用下面的最后一个减去当前的电流。请告诉我如何使其正确。
Get-WmiObject Win32_PerfRawData_PerfDisk_PhysicalDisk -Filter "NOT Name LIKE '_Total'" | ForEach- Object { $y=((($_.AvgDiskSecPerTransfer/$_.Frequency_PerfTime)/$_.AvgDiskSecPerTransfer_Base)*1000) Write-Host "$_.name : $y"}
答案 0 :(得分:1)
你错过了一个;
并且有太多空格:
Get-WmiObject Win32_PerfRawData_PerfDisk_PhysicalDisk -Filter "NOT Name LIKE '_Total'" | ForEach-Object { $y=((($_.AvgDiskSecPerTransfer/$_.Frequency_PerfTime)/$_.AvgDiskSecPerTransfer_Base)*1000); Write-Host "$_.name : $y"}
在我的系统上,它返回:
\\CORSAIR-PC\root\cimv2:Win32_PerfRawData_PerfDisk_PhysicalDisk.Name="0 E:".name : 129.22604973848
\\CORSAIR-PC\root\cimv2:Win32_PerfRawData_PerfDisk_PhysicalDisk.Name="1 C:".name : 0.482442557684425
\\CORSAIR-PC\root\cimv2:Win32_PerfRawData_PerfDisk_PhysicalDisk.Name="2 D:".name : 1.79339154035152
\\CORSAIR-PC\root\cimv2:Win32_PerfRawData_PerfDisk_PhysicalDisk.Name="3 G:".name : 127.640155793976
\\CORSAIR-PC\root\cimv2:Win32_PerfRawData_PerfDisk_PhysicalDisk.Name="4 F:".name : 1.37056682368048
答案 1 :(得分:0)
您在公式中使用单个样本。使用原始计数器,您几乎总是需要两个。您可以找到PERF_AVERAGE_TIMER
here