Viele Änderungen an virtuellen Maschinen kann man im laufenden Betrieb vornehmen. Ein paar Eigenschaften lassen sich aber nur bearbeiten, wenn die betreffende VM abgeschaltet ist. Um solche Arbeiten außerhalb der üblichen Betriebszeiten auszuführen, eignet sich ein PowerShell-Skript, das man per Taskplaner aufruft.
Das folgende Skript etwa fährt eine bestimmte VM herunter, setzt dann die CPU-Kompatibilität für die Live Migration und startet danach die VM wieder. Der Einfachheit halber trägt man den Namen der VM direkt im Skriptcode ein, es wäre aber mit einer kleinen Änderung auch möglich, den Namen per Kommandozeile zu übergeben.
$VMName = 'VM01' $output = "C:\Daten\$VMName-Out.txt" Get-Date | Out-File $output -Append Get-VMProcessor -VMName $VMName | Out-File $output -Append "Stopping $VMName" | Out-File $output -Append Stop-VM -Name $VMName -Force "$VMName Stopped" | Out-File $output -Append sleep 5 "Reconfiguring $VMName" | Out-File $output -Append Set-VMProcessor -VMName $VMName -CompatibilityForMigrationEnabled $true "$VMName configured" | Out-File $output -Append Get-VMProcessor -VMName $VMName | Out-File $output -Append sleep 5 "Starting $VMName" | Out-File $output -Append Start-VM -Name $VMName 'Finished' | Out-File $output -Append Get-Date | Out-File $output -Append
Um dieses Skript automatisch auszuführen, legt man in der Windows-Aufgabenplanung einen Task an, der zu einem bestimmten Zeitpunkt ein Programm startet. Der Name des Programms lautet “powershell.exe”, als Parameter ergänzt man “-File <Dateiname>”, wobei der Dateiname der PowerShell-Skriptdatei den gesamten Pfad umfassen sollte.
Reconfig-VMCPU.ps1 (374 bytes, 1.130-mal heruntergeladen, letzte Änderung am 7. Juli 2015)
http://faq-o-matic.net/?p=6743