如何获得以主机百分比表示的CPU使用率和内存使用率?
Get-VMHost | Export-Csv "C:\checks.csv"
这给了我Mhz的输出
Get-VMHost | Export-Csv "C:\checks.csv"
答案 0 :(得分:0)
您需要几个PowerShell技巧才能执行该任务。
首先,计算属性。 Get-VMHost没有包含CPU或内存使用百分比的现有属性。但是,它确实包含了用法和总金额,我们可以用来创建百分比。为了显示它,我们将使用所谓的计算属性,该属性将允许我们以哈希表的形式创建自定义属性,并在运行时执行该计算。
示例:@{Name = 'CpuUsage'; Expression = {$_.CpuUsageMhz / $_.CpuTotalMhz}}
第二,我们需要将计算出的值转换为更易于理解的值。我们可以使用ToString
方法中的格式说明符。
示例:@{Name = 'CpuUsage'; Expression = {($_.CpuUsageMhz / $_.CpuTotalMhz).ToString("P")}}
最后,您的代码应类似于以下内容:
Get-VMHost | select Name, ConnectionState, PowerState, @{Name = 'CpuUsage'; Expression = {($_.CpuUsageMhz / $_.CpuTotalMhz).ToString("P")}}, @{Name = 'MemoryUsage'; Expression = {($_.MemoryUsageGB / $_.MemoryTotalGB).ToString("P")}}, Version | Export-Csv "C:\checks.csv"