2009-06-09 10 views
11

Questo è fondamentalmente un duplicato di this question, ma la risposta accettata era "no" e vorrei mantenere questa domanda aperta fino a ottenere una risposta effettiva invece di accettare "NO" e rinunciare.Automatizza Virtual PC 2007 con PowerShell?

Stephen Rose mi ha comunicato tramite Twitter DM di utilizzare PowerShell per avviare e arrestare Virtual PC VM e fare cose come eseguire installazioni, aggiornamenti automatici e scansioni di virus, ma non ha ancora risposto alla mia richiesta di collegamenti a risorse che descrivono come farlo.

Ho iniziato a imparare PowerShell, ma non riesco a capire come ottenere o utilizzare qualsiasi informazione nell'elenco di VM all'interno di Virtual PC.

Edit:Windows Virtual PC (Windows 7 XP Mode) non è lo stesso di Virtual PC 2007. Sono in esecuzione Windows 7 come il mio sistema operativo host, ma sto ancora utilizzando Virtual PC 2007, perché ho bisogno di mantenere la possibilità di eseguire le macchine guest su Host Vista o XP che non avranno il nuovo Windows Virtual PC. Ho installato brevemente Windows Virtual PC per verificarlo e ha dovuto eseguire un certo numero di conversioni sulle mie immagini virtuali. Il suggerimento di @ x0n ($vpc = new-object -com virtualpc.application) produce il seguente errore sul mio sistema:

New-Object : Cannot load COM type virtualpc.application. 
At line:1 char:18 
+ $vpc = new-object <<<< -com virtualpc.application 
    + CategoryInfo   : InvalidType: (:) [New-Object], PSArgumentException 
    + FullyQualifiedErrorId : CannotLoadComObjectType,Microsoft.PowerShell.Commands.NewObjectCommand 

Edit 2: ho usato il codice di Jeff da this answer per elencare tutti gli oggetti COM sul mio sistema e non poteva trovare qualcuno che sembrava che fossero Virtual PC. Quindi ora sto pensando che la risposta "non è possibile" potrebbe essere corretta, ma ho intenzione di lasciare questa domanda aperta nel caso qualcuno abbia ulteriori suggerimenti per far funzionare PowerShell con Virtual PC 2007. Nel frattempo , Sto seriamente pensando di fare il salto al nuovo Windows Virtual PC in Windows 7 e non mi preoccupo solo di mantenere tutte le mie macchine virtuali compatibili con le versioni precedenti di Windows.

risposta

3

Per provare alcuni dei miei software all'interno di una macchina virtuale Io uso AutoIt (http://www.autoitscript.com/autoit3/) per avviare la macchina virtuale, e all'interno della VM ho riutilizzarlo per avviare e controllare la mia domanda. La comunicazione viene eseguita utilizzando una cartella condivisa all'interno della VM (scrivendo lo script AutoIt da eseguire, l'output dell'applicazione come un log).

Non è Powershell, ma forse questo aiuta comunque. :)

saluti,

Sebastiaan

+0

Grazie! Sembra promettente. Se funziona, accetterò questa risposta. Benvenuto in StackOverflow! – CoderDennis

+0

Non sono mai riuscito a provare questo, ma questa è la migliore risposta e questa era la mia unica domanda senza una risposta accettata. – CoderDennis

1

È questo quello che stai cercando? Sono su Windows 7 che ha la funzione "virtual windows xp" installata (che è effettivamente vpc 2007).

[E] PS> $vpc = new-object -com virtualpc.application 
[E] PS> $vpc 

HostInfo     : System.__ComObject 
VirtualMachines    : System.__ComObject 
VirtualNetworks    : System.__ComObject 
UnconnectedNetworkAdapters : System.__ComObject 
SupportDrivers    : System.__ComObject 
Tasks      : System.__ComObject 
MinimumMemoryPerVM   : 4 
MaximumMemoryPerVM   : 3071 
SuggestedMaximumMemoryPerVM : 2763 
MaximumFloppyDrivesPerVM : 1 
MaximumSerialPortsPerVM  : 2 
MaximumParallelPortsPerVM : 1 
MaximumNetworkAdaptersPerVM : 4 
MaximumNumberOfIDEBuses  : 2 
DefaultVMConfigurationPath : G:\Users\Oisin\AppData\Local\Microsoft\Windows Virtual PC\Virtual Machines\ 
SearchPaths     : {} 
USBDeviceCollection   : System.__ComObject 
Name      : Windows Virtual PC 
Version      : 6.1.7084.0 
UpTime      : 2 
+0

Il nuovo Windows Virtual PC di Windows 7 non è lo stesso di Virtual PC 2007. Questo codice non ha funzionato per me. Vedi la mia modifica nella domanda. – CoderDennis

0

apparire come può essere possibile per automatizzare la creazione di immagini virtuali che utilizzano MS Virtual Server 2005. I seguenti articoli dettaglio l'uso di script PowerShell per automatizzare la creazione di immagini virtuali:

Da parte 2, nei test di configurazione sezione su una macchina virtuale, sembra possibile trasferire file e programmare script da eseguire. Usando questi articoli come base, dovrebbe essere possibile automatizzare la costruzione di un'immagine virtuale MS nello stesso modo in cui è descritto per un'immagine di VMware.