Создание моментального снимка виртуальной машины ESXi | PowerCLI

Я пытаюсь автоматизировать проверку моментального снимка свободного места в DS. Это становится сложным для виртуальных машин с несколькими подключенными DS. Сценарий делает несколько снимков для таких виртуальных машин, если выполняется условие. Пожалуйста, помогите мне понять, где что-то идет не так.

Объединение свободного пространства:

$free = (Get-Datastore -VM $vm | Select @{N="FreeSpace";E={[math]::Round(($_.FreeSpaceMB)*100/($_.CapacityMB),0)}})

Теперь проверяем, есть ли свободное место в каждой DS, к которой подключена ВМ:

foreach ($ds in $free.FreeSpace)

{
    if (($ds -gt 25)
{
get-vm $vm | new-snapshot -name "$cmr.$date" -Description $description
}
}

person Hari    schedule 19.09.2018    source источник
comment
Можете ли вы показать сообщение об ошибке, которое вы получаете?   -  person Jelphy    schedule 19.09.2018


Ответы (1)


Если я правильно понимаю вопрос, касающийся работы с несколькими хранилищами данных... Я бы посмотрел на введение Sort-Object после начального Get-Datastore, основанного на свойстве FreeSpaceMB, а затем выберите только первое хранилище данных (которое должно иметь наименьшее количество доступное свободное место) и выполняя расчет на основе этого.

Непроверенный пример: $free = (Get-Datastore -VM $vm | Sort-Object -Property FreeSpaceMB | Select-Object -Property @{N="FreeSpace";E={[math]::Round(($_.FreeSpaceMB)*100/($_.CapacityMB),0)}} -First 1)

person Kyle Ruddy    schedule 21.09.2018