28 lines
670 B
PowerShell
Executable File
28 lines
670 B
PowerShell
Executable File
#!/usr/bin/env pwsh
|
||
. /opt/idssys/powerwall/conf/settings.ps1
|
||
|
||
Connect-VIServer -Force -Server $args[0] -Protocol https -User $ESXiUsername -Password $ESXiPassword | Out-Null
|
||
|
||
Do {
|
||
$VMLIST = Get-VM | Where {$_.PowerState -like '*On*' -and $_.Name -notlike '*CLS*' -and $_.Name -notlike '*iSCSI*'}
|
||
if ($VMLIST -ne $null) {
|
||
$poff = 'no'
|
||
Foreach ($VM in $VMLIST) {
|
||
$VMI = Get-VM $VM
|
||
if ($VMI -eq $null -Or $VMI.PowerState -match 'PoweredOn') {
|
||
$poff = 'no'
|
||
break
|
||
} else {
|
||
$poff = 'yes'
|
||
}
|
||
}
|
||
Start-Sleep -s 1
|
||
} else {
|
||
$poff = 'yes'
|
||
}
|
||
} Until ($poff -match 'yes')
|
||
|
||
|
||
Disconnect-VIServer -Server $args[0] -Force –Confirm:$false
|
||
|