update
This commit is contained in:
@@ -1,32 +1,14 @@
|
||||
#!/usr/bin/env pwsh
|
||||
. /opt/idssys/powerwall/settings.ps1
|
||||
|
||||
Connect-VIServer -Server $VCENTERHOST -Protocol https -User $VCENTERUSER -Password $VCENTERPASS
|
||||
# Connect-VIServer -Server $VCENTERHOST -Protocol https -User $VCENTERUSER -Password $VCENTERPASS | Out-Null
|
||||
write-host connected
|
||||
#Get-VMHost | Where {$args[0]} | Get-VM | Where {$_.PowerState -like '*On*' -and $_.Name -notlike '*CLS*' -and $_.Name -notlike '*iSCSI*'} | Shutdown-VMGuest -Confirm:$false
|
||||
|
||||
|
||||
$vmhosts=$args[0].Split(",")
|
||||
Foreach ($vmhost in $vmhosts)
|
||||
{
|
||||
write-host $vmhost
|
||||
Get-VMHost | Where {$_.Name -eq $vmhost} | Get-VM | Where {$_.PowerState -like '*On*' -and $_.Name -notlike '*CLS*' -and $_.Name -notlike '*iSCSI*'}
|
||||
# Get-VMHost | Where {$_.Name -eq $vmhost} | Get-VM | Where {$_.PowerState -like '*On*' -and $_.Name -notlike '*CLS*' -and $_.Name -notlike '*iSCSI*'} | Shutdown-VMGuest -Confirm:$false
|
||||
}
|
||||
|
||||
|
||||
|
||||
# $vmhosts=Get-VMHost
|
||||
# & $vmhosts=$vmhosts | Where {$args[0]}
|
||||
# write-host $COMMAND
|
||||
|
||||
|
||||
# $COMMAND="Get-VMHost | Where {"+$args[0]+"} | Get-VM"
|
||||
# write-host $COMMAND
|
||||
# & $COMMAND | Where {$_.PowerState -like '*On*' -and $_.Name -notlike '*CLS*' -and $_.Name -notlike '*iSCSI*'}
|
||||
|
||||
# Disconnect-VIServer -Server $VCENTERHOST -Force –Confirm:$false
|
||||
|
||||
|
||||
|
||||
#$_.Name -eq 'ids-vms1.scity.us' -or $_.Name -eq 'ids-vms7.scity.us'
|
||||
31
powerwall.sh
31
powerwall.sh
@@ -11,7 +11,7 @@ source /opt/idssys/powerwall/inc/power.inc.sh
|
||||
source /opt/idssys/powerwall/inc/temp.inc.sh
|
||||
|
||||
|
||||
# TEST=true
|
||||
TEST=true
|
||||
|
||||
shopt -s lastpipe
|
||||
|
||||
@@ -416,21 +416,20 @@ SHUTDOWN_SERVER(){
|
||||
echo
|
||||
fi
|
||||
|
||||
for ESXIHOST in "${ESXI_HOSTS[@]}"; do
|
||||
MSG="Shutting down remaining VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]}"
|
||||
c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
|
||||
echo -en "${idsCL[White]}${MSG//${PW_ESXI_HOST_NAMES[${ESXIHOST}]}/${idsCL[LightCyan]}${PW_ESXI_HOST_NAMES[${ESXIHOST}]}}${idsCL[White]}${MSG_SPC}: "
|
||||
if [ "${TEST}" != "true" ]; then
|
||||
if [ "$(ipmitool -I lanplus -H ${PW_HOST_IDRACS[${PW_ESXI_HOST_NAMES[${ESXIHOST}]}]} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power status | grep 'Power is on')" != "" ]; then
|
||||
${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1 &
|
||||
echo -e "${idsCL[Green]}Commands sent${idsCL[Default]}"
|
||||
else
|
||||
echo -e "${idsCL[Yellow]}Host Offline${idsCL[Default]}"
|
||||
fi
|
||||
else
|
||||
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||
fi
|
||||
done
|
||||
MSG="Shutting down remaining VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]}"
|
||||
c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
|
||||
echo -en "${idsCL[White]}${MSG//${PW_ESXI_HOST_NAMES[${ESXIHOST}]}/${idsCL[LightCyan]}${PW_ESXI_HOST_NAMES[${ESXIHOST}]}}${idsCL[White]}${MSG_SPC}: "
|
||||
if [ "${TEST}" != "true" ]; then
|
||||
for ESXIHOST in "${ESXI_HOSTS[@]}"; do
|
||||
var="${ESXIHOST},${var}"
|
||||
done
|
||||
echo "HERE: ${var::-1}"
|
||||
${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${var::-1} #>/dev/null 2>&1 &
|
||||
echo -e "${idsCL[Green]}Commands sent${idsCL[Default]}"
|
||||
|
||||
else
|
||||
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||
fi
|
||||
echo
|
||||
|
||||
if [ ${MM} -eq 0 ]; then
|
||||
|
||||
Reference in New Issue
Block a user