Manchmal brauche ich zur Entwicklung mehrere virtuelle Maschinen, die erst zusammen ein brauchbares Entwicklungssystem ergeben, beispielsweise eine gesamte kleine Domäne. In diesem Fall müssen bestimmte Rechner in einer vordefinierten Reihenfolge gestartet werden. Da ich keinen großen Hyper-V-Host habe, sondern meine virtuellen Maschinen auf mehrere Hyper-V-Hosts verteilt habe und ich nicht manuell alle virtuellen Maschinen starten möchte, starte ich diese über ein powershell-Script, dass die VMs in einer vordefinierten Reihenfolge ($VMNames) auf den unterschiedlichen Hyper-V Hosts ($VMHostServers) startet.

In diesem Skript:

  • Zwei Arrays definieren die zu überprüfenden Hyper-V-Hosts ($VMHostServers) und virtuellen Maschinen ($VMNames).
  • Das Skript durchläuft jede VM in $VMNames und überprüft auf jedem Server in $VMHostServers, ob die VM vorhanden und gestartet ist.
  • Es wird zunächst die Verfügbarkeit jedes Servers überprüft.
  • Für verfügbare Server wird dann überprüft, ob die VM existiert. Falls ja, wird geprüft, ob sie bereits läuft.
  • Falls die VM nicht läuft, wird sie gestartet.

Das Ganze gibt es auch als Programm:

Download