Heute wollte jemand wissen, wie man bei einem Hyper-V-Host mit VMs, die auf Autostart gesetzt sind, diese Autostart-Aktion programmatisch abbrechen kann. Der Hyper-V-Manager bietet diese Option ja im Kontextmenü an, auch wenn „Cancel waiting to start virtual machine…“ eher vermuten lässt, dass der Start dann sofort fortgesetzt wird, ohne weitere Verzögerung.
Die Antwort ist so einfach wie unelegant: Die Autostart-Aktion auf „nichts“ setzt und dann anschließend zurück auf den vorherigen Wert. Das bricht die wartende Aktion tatsächlich ab. Die größere Herausforderung liegt darin, den Status der VM unabhängig von der Sprache der Umgebung zu interpretieren:
Der kulturunabhängige Wert ist gespeichert in der Array-Property „OperationalStatus“ und entspricht dem numerischen Index 32771.
Der Befehl, der alle noch wartenden VMs am Starten hindert, würde also wie folgt lauten:
Happy Hyper-Ving!