Kontrolle Hyper-V-VMs mit Python

ich versuche zu schreiben, eine Kontrolle VMs auf einem HyperV-Server mit Python. Ich beginne mit der Verbindung zu dem server HyperV-server läuft auf:

connection = wmi.connect_server(server="servername", namespace=r"root\virtualization", user=r"username", password=r"password")
wmiServerConnection = wmi.WMI(wmi=connection)

Gibt mir ein wmi Objekt für diese Verbindung.

Für das stoppen und starten einer VM kann ich das einfach verwenden:

#get the wmi object representing the VM
vmSystem = wmiServerConnection.Msvm_ComputerSystem(ElementName="VmName")
#send change request to vm
vmSystem[0].RequestStateChange(3)

Aber vor dem Start einer VM, die ich anwenden möchten, um einen bestimmten snapshot.
Die Klasse Msvm_VirtualSystemManagementService stellt eine Methode - ApplyVirtualSystemSnapshot/ApplyVirtualSystemSnapshotEx - für diese. Es braucht die SnapshotSettingData als parameter, und ich dachte, ich könnte erhalten, dass man mit der GetSummaryInformation Methode der gleichen Klasse. MSDN sagt diese Methode gibt eine Msvm_SummaryInformation Klasse.

Rufe ich diese Funktion wie folgt:

#get the wmi class object
vmManagement = wmiServerConnection.Msvm_VirtualSystemManagementService()
snapshotInfo = vmManagement[0].GetSummaryInformation([1,107])

Dieser sollte mir den Namen und die snapshot für alle VMs auf dem HyperV-server. Aber alles was ich bekomme ist eine Liste von COM-Objekten.

Wenn ich versuche, eine bestimmte VM als parameter bekommen von

vmSettings = wmiServerConnection.Msvm_VirtualSystemSettingData(ElementName="VmName")

wie diese

snapshotInfo = vmManagement[0].GetSummaryInformation([1,107], [vmSettings[0]])

stürzt es ab.

Meine Fragen:

  1. Warum erhalte ich nicht eine WMI-Objekt?

  2. Der zweite parameter ist offensichtlich falsch. MSDN sagt, es muss CIM_VirtualSystemSettingData REF SettingData[] als parameter. Das WMI-Objekt die falsche? Wie bekomme ich die richtigen parameter?

  3. Wie kann ich die Informationen abrufen, die ich brauche aus dem COM-Objekt?

Oder bin ich völlig auf dem Holzweg?

Dank, Stefanie

InformationsquelleAutor Banshee | 2012-10-19
Schreibe einen Kommentar