Hyper-V

Hyper-V: Fehler bei VM Import

Ein VM importieren ist eine einfache Sache. Selbst wenn die Konfiguration nicht 100%tig passt, hilft uns die GUI die nötigen Anpassungen zu machen. Nur wie geht das in der PowerShell? 

Eine VM wird mit folgendem Befehl importiert (registrieren ohne kopieren):
import-vm -Path ‚D:\Hyper-V\export\org\Virtual Machines\4C91D4EB-1FCE-498F-92CD-8838AED42CE4.vmcx‘ 

In meinem Beispiel funktioniert dies jedoch nicht. Wir bekommen eine Fehlermeldung:

import-vm : Der virtuelle Computer kann aufgrund von Konfigurationsfehlern nicht importiert werden. Verwenden Sie   „Compare-VM“, um den virtuellen Computer zu reparieren. 
  In Zeile:1 Zeichen:1 
  + import-vm -Path ‚D:\Hyper-V\export\org\Virtual Machines\4C91D4EB-1FCE … 
  + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  + CategoryInfo          : InvalidOperation: (:) [Import-VM], VirtualizationException 
  + FullyQualifiedErrorId :
OperationFailed,Microsoft.HyperV.PowerShell.Commands.ImportVM 

Die Lösung steht ja schon da, jedoch nicht wie wir diese Anwenden.
Mit folgendem Befehl werten wir die XML Datei aus und speichern die Werte (als Array) in eine Variable.

$compare = Compare-VM –Path  ‚D:\Hyper-V\export\org\Virtual Machines\4C91D4EB-1FCE-498F-92CD-8838AED42CE4.vmcx‘ 
   $compare.Incompatibilities | fl 

  Message   : Der Ethernet-Switch „oldswitch“ wurde nicht gefunden. 
  MessageId : 33012 
  Source    : VMNetworkAdapter (Name = ‚Netzwerkkarte‘, VMName = ‚org‘) [VMId = ‚4c91d4eb-1fce-498f-92cd-  8838aed42ce4‘] 

Nun sehen wir welche Punkte nicht passen. Im Beispiel ist der virtuelle Switch „oldswitch“ nicht vorhanden ist.
Daher binden wir nun einen anderen Switch an. Auch wenn wie in diesem Beispiel nur ein Fehler aufgelistet wird, müssen wir diesen im Array durch [0] auswählen:
 $compare.Incompatibilities[0].Source | Connect-VMNetworkAdapter -SwitchName „switch“ 

Ergebnis überprüfen:
(compare-VM -CompatibilityReport $compare). Incompatibilities 

Wenn die Anpassung korreckt ist, bekommen wir nun kein Ergebniss ausgegeben.
Somit können wir die VM importieren. Dabei geben wir nicht die XML Datei an, sondern den angepassten Compatibility Report.
  Import-VM -CompatibilityReport $compare 

  Name State CPUUsage(%) MemoryAssigned(M) Uptime   Status           Version
  —- —– ———– —————– ——   ——           ——-
  org  Off   0           0                 00:00:00 Normaler Betrieb 8.0 

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s