2009-11-14 12 views
15

Esistono mezzi per un'applicazione .NET per creare, eliminare, avviare e arrestare macchine virtuali Hyper-V?Manipolare Hyper-V da .NET

Vorrei creare un metodo automatico di avvio e arresto (le macchine create & elimina) virtuali da un'applicazione C#. Ho pensato che (almeno) ci sarebbe stato un modo per farlo tramite P/Invoke, ma non riesco a trovare nulla che discuti su come farlo.

Sarebbe preferibile qualsiasi collegamento ad alcune procedure dettagliate o documentazione.

+0

C'è uno spazio dei nomi WMI ben popolato in 'root \ hypervisor' - Non sono sicuro di dove sia documentato, ma puoi sfogliare le classi/istanze/metodi lì da te. – ephemient

risposta

1

System Center Virtual Machine Manager viene fornito con un ottimo set di assembly .NET, che è possibile fare liberamente riferimento nella propria app. Ha anche un'interfaccia Powershell eccellente per un facile scripting.

Tuttavia, se si utilizza Raw-Hyper V e non SCVMM, non so. Vedi se riesci a far sorgere il tuo capo per SCVMM.

+0

+1 per PowerShell. Sembra che Microsoft stia pianificando di sfruttare questo per amministrare più applicazioni aziendali. – TrueWill

3

Non dimenticare di prendere in considerazione che nelle versioni più recenti di hyper-v, gli spazi dei nomi sono stati spostati nella v2. Ad esempio da root \ virtualization in Hyper-V 2008, lo spazio dei nomi è stato modificato in root \ virtualization \ v2 nel 2012. (Versione server di Windows ) Per ulteriori dettagli, consultare this post.

Questo mi ha aiutato molto in nuove versioni di Hyper-V

Speranza che aiuta.