From f4b6ed89d4bd4eee31a45364393894b3b9949e43 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Tue, 6 Feb 2024 09:05:10 -0600 Subject: [PATCH] update --- defaults.inc | 2 +- esxi-scripts/offsite-host-shutdown.ps1 | 38 ++++++++++++++++++++++++++ inc/power.inc.sh | 2 +- 3 files changed, 40 insertions(+), 2 deletions(-) create mode 100755 esxi-scripts/offsite-host-shutdown.ps1 diff --git a/defaults.inc b/defaults.inc index c5b8da4b..0a1e7e0f 100755 --- a/defaults.inc +++ b/defaults.inc @@ -1,6 +1,6 @@ #!/usr/bin/env bash -VERS='2.5.258-02062024' +VERS='2.5.259-02062024' noheader=' update service dailytemp confsync -r -report ' diff --git a/esxi-scripts/offsite-host-shutdown.ps1 b/esxi-scripts/offsite-host-shutdown.ps1 new file mode 100755 index 00000000..4a3784af --- /dev/null +++ b/esxi-scripts/offsite-host-shutdown.ps1 @@ -0,0 +1,38 @@ +#!/usr/bin/env pwsh +. /opt/idssys/powerwall/settings.ps1 + +Connect-VIServer -Force -Server $args[0] -Protocol https -User $ESXiUsername -Password $ESXiPassword | Out-Null + +Get-VM | Where {$_.PowerState -like '*On*'} | Shutdown-VMGuest -Confirm:$false + +# $vms=Get-VM | Where {$_.PowerState -like '*On*'} +# Foreach ($vm in $vms) +# { +# $migrating=Get-Task | ?{$_.ObjectId -match 'VirtualMachine'} | Select @{N='VM';E={(Get-View -Id $_.ObjectId).Name }},State,Description | where {$_.VM -eq $vm -and $_.Description -like '*Relocate*' -and $_.State -eq 'Running'} +# if ([string]::IsNullOrEmpty($migrating)) { +# Get-VM $vm | Shutdown-VMGuest -Confirm:$false +# } +# } + +Do { + $VMLIST = Get-VM | Where {$_.PowerState -like '*On*'} + 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') + +Stop-VMHost $args[0] -Force -Confirm:$false + +Disconnect-VIServer -Server $args[0] -Force –Confirm:$false diff --git a/inc/power.inc.sh b/inc/power.inc.sh index 94b576d0..fb3d8f61 100644 --- a/inc/power.inc.sh +++ b/inc/power.inc.sh @@ -660,7 +660,7 @@ $(date)" touch ${PW_TMPFOLDER}/shutdown.OFFSITE for host in ${PW_OFFSITEHOSTS}; do if [ "${TEST}" = "" ] || [ "${TEST}" = "full" ]; then - ${PW_FOLDER}/esxi-scripts/host-vm-shutdown.ps1 ${host} >/dev/null 2>&1 & + ${PW_FOLDER}/esxi-scripts/offsite-host-shutdown.ps1 ${host} >/dev/null 2>&1 & fi done fi