Beschreibung:

In diesem Artikel wird erklärt, wie das PowerShell Skript „Reboot-VMsAndHV-SU.ps1“ zu verwenden ist.


Das Skript kannst Du Dir aus unserem Github Repo hier herunterladen:

ScriptCollection/Smart Updates/Reboot-VMsAndHV-SU.ps1 at main · Server-Eye/ScriptCollection · GitHub


Das PowerShell Skript fährt die VMs eines Hyper-Vs in einer selbstbestimmten Reihenfolge herunter und in umgekehrter Reihenfolge wieder hoch, anhand einer .csv Tabelle.


Als Parameter (time) kann die maximal Laufzeit der VMs angegeben werden, bevor die Instanz dann durch das Script ausgeschaltet wird. 


Beachte:
Der Fokus liegt auf dem Updaten des Hyper-V-Hosts. Das Skript stößt keine Smart Updates auf den Server VMs an!

Voraussetzungen


Anleitung

  1. Lade das Skript in Dein Online PowerShell Verzeichnis hoch.
  2. Im servereye Automation Planner eine Aufgabe anlegen.
    - Name + Beschreibung: Reboot_Hyper-V_SU
    - System: entsprechender Hyper-V Host
    - Trigger: 1x wöchentlich (mit Kunde absprechen!)
    - Aktionen: PowerShell Repository → Skript auswählen

    (Parameter "time"= maximale Zeit in - Minuten, die eine VM zum Herunterfahren benötigen kann, bevor sie gestoppt wird)
  3. Auf den Hyper-V aufschalten
  4. Sicherstellen, dass KEINE Datei "C:\vms.csv" existiert!
  5. In Windows Aufgabenplanung unter "servereye Tasks" die neu angelegte Aufgabe einmal ausführen
    (bei der ersten Ausführung wird der Hyper-V nicht neu gestartet!):
    Eine Datei "vms.csv" wird unter C: erstellt (C:\vms.csv) 
  6. In der erstellten .csv Datei sind alle Prioritäten auf 10 gesetzt. Nun muss die Reihenfolge bestimmt werden anhand der Priorität.
    Es gilt je niedriger der Wert der Priorität, desto später wird die jeweilige VM bei einem Hyper-V Reboot heruntergefahren. Ein VM mit Prio 1 fährt nach einer VM mit Prio 2 herunter.


    Zur Veranschaulichung folgendes Beispiel:
    Der automatische Reboot des Hyper-V ist somit eingerichtet und findet zum nächsten Zeitpunkt der in servereye geplanten Aufgabe statt. Die VMs werden nach dem Reboot in umgekehrter Reihenfolge gestartet.

Anmerkungen

  • der Parameter "time" im Script ist standardmäßig auf 30 Minuten festgelegt
  • Änderungen des Namens aktiver VMs führt zu einer Neuanlage dieser VM in vms.csv mit der Priorität "10"
  • gelöschte VMs werden automatisch aus vms.csv entfernt und in zukünftigen Neustarts nicht mehr berücksichtigt
  • neu hinzugefügte VMs werden automatisch mit einer Priorität von 10 der Datei vms.csv hinzugefügt
  • das Starten der VMs nach dem Hyper-V Reboot findet nach einem maximalen Delay von 5 Minuten statt! (nach maximal 5 Minuten startet die erste VM)
  • die Zeit zwischen den Starts der einzelnen VMs ist auf 120 Sekunden festgesetzt (dies wird in einer zukünftigen Version als Parameter verfügbar sein)
  • die ersten Neustarts sind zu kontrollieren!