Как обычно, делать веселее с PowerShell :)
$Mem = 0; Get-Cluster "Remote Cluster" | Get-VM | Get-View |` %{ $Mem += $_.Config.Hardware.MemoryMB } $Mem
Разумеется, сделать это можно не только с кластером, но и с любым другим набором виртуальных машин. Например, как в предыдущей теме, с папками:
$Mem = 0; Get-Folder "Infrastructure" | Get-VM | Get-View |` %{ $Mem += $_.Config.Hardware.MemoryMB } $Mem
Или даже посчитать количество памяти для машин с именем, начинающимся на linux:
$Mem = 0; Get-VM linux* | Get-View |` %{ $Mem += $_.Config.Hardware.MemoryMB } $Mem
Прекрасно, мы теперь знаем, сколько памяти нужно машинам. Но память машин считается в мегабайтах, а нам нужны гигабайты. Можно взять калькулятор и поделить, но зачем? Мы же можем сделать это прямо здесь.
$Mem / 1024
Но красивее делать это так:
$Mem / 1kb
Существуют предопределенные значения kb, mb, gb и tb, содержащие количество байт в "настоящих", а не "коммерческих", гигабайтах. Если с килобайтами все просто, 1024 байта, то мне так и не удалось запомнить наизусть сколько байт в гигабайте.
И все равно немного неаккуратненько. Зачем нам 6 цифр после запятой? Отформатируем вывод.
"{0:N2}" -f ($Mem / 1kb)
Комментариев нет:
Отправить комментарий