Я только начинаю работать с PowerCLI. Попытка написать сценарий, который получает имя виртуальной машины в CSV, проверяет гостевые диски виртуальной машины с менее чем 20% свободного места и отправляет электронное письмо на адрес электронной почты, указанный в CSV. Однако мне трудно сгруппировать «имя» в одно электронное письмо с одинаковым адресом электронной почты.
Ниже приведен сценарий, который я использую для вывода списка гостевых дисков виртуальной машины, которые менее 20%.
import-csv ".\vm.csv" | Group-Object $_."email"
ForEach ($VM in Get-VM $_."name" ){($VM.Extensiondata.Guest.Disk | `
Select @{N="Name";E={$VM.Name}},DiskPath, `
@{N="Capacity(MB)";E={[math]::Round($_.Capacity/ 1MB)}}, `
@{N="Free Space(MB)";E={[math]::Round($_.FreeSpace / 1MB)}} ,`
@{N="Free Space %";E={[math]::Round(((100* ($_.FreeSpace))/ ($_.Capacity)),0)}} | Where-Object {($_."Free Space %" -lt 20)})}
Например в CSV:
name email
vm1 [email protected]
vm2 [email protected]
vm3 [email protected]
vm4 [email protected]
Выход:
email received by [email protected]
No VM Free%
1. vm1 10
2. vm3 9
email received by [email protected]
No VM Free%
1. vm2 13
2. vm4 15
Цените, если кто-нибудь может помочь.
Спасибо.