Для выполнения этой задачи вам понадобится пара трюков PowerShell.
Во-первых, расчетные свойства.Get-VMHost не имеет существующего свойства, состоящего из процентов использования процессора или памяти.Тем не менее, он содержит как использование, так и общие суммы, из которых мы можем использовать процент для создания.Чтобы отобразить его, мы будем использовать так называемое вычисляемое свойство, которое позволит нам создать собственное свойство в форме хеш-таблицы, где мы выполняем это вычисление во время выполнения.
Пример: @{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"