Aktionen

PowerCLI Alle VMs herunterfahren

Aus znilwiki

Changelog:

  • 30.10.2019 erste Version

Vorwort

Kurzes PowerShell-Skript welches alle VMs eines vCenters herunterfährt - das vCenter selbst zuletzt.
Wird als USV-Skript genutzt (per Batch aufgerufen)


Quellcode PowerShell

# Name des vCenters (gleichzeitig Name der vCenter-VM)
$vcName = 'vcenter'

# Extra Benutzer im vCenter eingerichtet
$vcUser = 'usv@vsphere.local'
$vcPassword = '########'

# Mit vCenter verbinden
Connect-VIServer -Server $vcName -User $vcUser -Password $vcPassword

# Die VM des vCenters finden

$vcVM = Get-VM -Name $vcName

#Write-Host "vCenter: $vcVM"
Write-Host

#Get-VM -Server $vcName | where{$_.Name -ne $vcName} | Shutdown-VMGuest -Confirm:$false
$VMs = Get-VM -Server $vcName | where{$_.Name -ne $vcName}

foreach ($VM in $VMs ) {
   If ($VM.PowerState -ne 'PoweredOff') {
        Write-Host "Shutdown VM .......: $VM"
        Shutdown-VMGuest -VM $VM -Confirm:$false
    }
    Else
    {
        Write-Host "Already Powered Off: $VM.Name"
    }
}
sleep 60
Shutdown-VMGuest -VM $vcVM -Confirm:$false
Disconnect-VIServer -Confirm:$false

Quellcode Batch

PowerShell.exe -Command "& 'C:\Skripte\Shutdown_All_VMs.ps1'"
exit

Quellen



Kommentare

Loading comments...