#!/usr/bin/env pwsh # Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false . /opt/idssys/powerwall/settings.ps1 $ESXI = Connect-VIServer -Server $args[0] -Protocol https -User $ESXiUsername -Password $ESXiPassword # $VMLIST = Get-Datastore | Where {$_.Name -like '*iSCSI-SYS*'} | Get-VM # # Foreach ($VM in $VMLIST) { # while((Get-VM $VM).PowerState -ne 'PoweredOff') { # Start-Sleep -Seconds 1 # } # } Do { $VMLIST = Get-Datastore | Where {$_.Name -like '*iSCSI-SYS*'} | Get-VM write-host $VMLIST if ($VMLIST -ne $null) { write-host "cycling through iscsi vms found" $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' } } } else { write-host "no iscsi vms found" $poff = 'yes' } } Until ($poff -match 'yes') Disconnect-VIServer $ESXI -Confirm:$false