From 53a141cecf5a5779a1844b5af537e190b08fb97b Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Wed, 1 Nov 2023 08:57:40 -0500 Subject: [PATCH] update --- esxi-scripts/vm-shutdown-verify.ps1 | 22 ++++++++++++++++++++++ powerwall.sh | 6 +++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100755 esxi-scripts/vm-shutdown-verify.ps1 diff --git a/esxi-scripts/vm-shutdown-verify.ps1 b/esxi-scripts/vm-shutdown-verify.ps1 new file mode 100755 index 00000000..fbf916e7 --- /dev/null +++ b/esxi-scripts/vm-shutdown-verify.ps1 @@ -0,0 +1,22 @@ +#!/usr/bin/env pwsh + +. /opt/idssys/powerwall/settings.ps1 + +Connect-VIServer -Server $args[0] -Protocol https -User $ESXiUsername -Password $ESXiPassword | Out-Null + +Get-Datastore | Where {$_.PowerState -like '*On*' -and $_.Name -notlike '*CLS*' -and $_.Name -notlike '*iSCSI*'} | Get-VM | if ($_.PowerState -eq "PoweredOn") { + Try{ + $vm = Get-VM -Name $vmName -ErrorAction Stop + switch($vm.PowerState){ + 'poweredon' { + sleep 5 + } + } + } + Catch{ + Write-Host "VM '$($vmName)' not found!" + } +} + +exit 0 + diff --git a/powerwall.sh b/powerwall.sh index f378f8a1..84908f8b 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -1131,7 +1131,11 @@ SHUTDOWN_SERVER(){ # ${PW_FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${hostip} >/dev/null 2>&1 fi echo -e "${idsCL[Green]}Done\n" - + + echo -en "${idsCL[LightCyan]}Verifying no VMs remain on the host ... " + [ "${TEST}" != "true" ] && ${PW_FOLDER}/esxi-scripts/vm-shutdown-verify.ps1 ${hostip} >/dev/null 2>&1 + echo -e "${idsCL[Green]}Done\n" + echo -en "${idsCL[LightCyan]}Shutting down Host ... " [ "${TEST}" != "true" ] && ssh root@${hostip} 'esxcli system shutdown poweroff -d 10 -r "Automated ESXi host shutdown"' & >/dev/null 2>&1 echo -e "${idsCL[Green]}Host will begin shutdown in 10secs\n"