Aktionen

PowerCLI Alle VMs herunterfahren: Unterschied zwischen den Versionen

Aus znilwiki

(Die Seite wurde neu angelegt: „<u>'''Changelog:'''</u><br> * 30.10.2019 erste Version ---- ==Vorwort== Kurzes PowerShell-Skript welches alle VMs eines vCenters herunterfährt - das vCenter s…“)
(kein Unterschied)

Version vom 30. Oktober 2019, 10:46 Uhr

Changelog:

  • 30.10.2019 erste Version

1 Vorwort

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


2 Quellcode PowerShell

# Stop every VM and ESXi, except the vCenter and the ESXi node hosting the vCenter

$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

3 Quellcode Batch

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

4 Quellen



5 Kommentare

<comments>