Ho arricchito lo script rendendolo piu completo nella gestione delle macchine virtuali
a breve inseriro altre funzionalita previste da virtualbox come il servicepack e come abilitare le porte usb
'Con questo script si avrà la possibilità di creare una macchina virtuale utilizzando VIRTUAL BOX su un server Linux.'
'La procedura standard prevede una serie di comandi da terminale e quindi lo script agevolerà questi passaggiù' \
'I requisiti per il corretto funzionamento dello script sono : l\'installazione di VIRTUAL BOX sul server Linux' \
'e la copia dell\'immagine ISO dal sistema da installare'
import os
os.system('cls')
x=2
def elencoVM():
os.system('cls')
print('Queste sono le macchine virtuali presenti nel sistema\n', os.system('vboxmanage list vms'), '\n')
while x>1:
os.system('clear')
print('Questo script ti aiuterà nella gestione e creazione di ina macchina virtuale su VIRTUALBOX')
print('\nSeleziona una scelta per procedere')
print('\n1 - Elenco delle macchine virtuali presenti nel sistema')
print('\n2 - Creare una macchina virtuale')
print('\n3 - Elimina macchina virtuale di cui si conosce il nome')
print('\n4 - Avvia una macchina virtuale')
print('\n5 - Spegnere una macchina virtuale')
print('\ndigita exit per uscire dal programma')
scelta=input('\ninserisci la scelta.....')
if scelta=='exit':
x=0
if scelta =='1':
os.system('clear')
elencoVM()
exit = input('\nPremi 1 per tornare al menu principale')
if exit == '1':
x = 2
if scelta =='2':
os.system('clear')
print('\n Hai scelto di creare una macchina virtuale')
print('\nPrima di proseguire devi conoscere il nome che il sistema asseggna alla scheda di rete usando il comando ifconfig da terminale')
rete=input('\nHai questa informazione s/n....?')
if rete == 's':
os.system('clear')
iso=input('inserisci il percorso e il nome del file ISO del sistema da installare sulla macchina virtuale. es /home/user/vm.iso ')
nomeMV=input('iserisci il nome da assegnare alla macchina virtuale ')
ramVM=input('inserisci la quantità di memoria RAM in MegaByte ')
nicVM=input('inserisci il nome della scheda di rete ')
pathVM=input('inserisci il percorso e il nome dove verra salvata la Macchina virtuale es. /home/user/VM.vdi ')
sizeVM=input('inserisci la grandezza del hdd della macchina virtuale espressa in MegaByte ')
rdpVM=input('inserisci il numero della porta da utilizzare per la connessione tramite Desktop Remoto alla macchina virtuale ')
reportVM=input('Vuoi vedere il riepilogo della tua macchina virtuale s/n? ')
if reportVM =='s':
os.system('clear')
print('Il nome della tua macchina virtuale è '+nomeMV)
print('L\'hardware della macchina virtuale è:\nMemoria RAM:'+ramVM+'Mb'+'\nHard Disk:'+sizeVM+'Mb'+'\nNome scheda di rete:'+nicVM+'\nFile iso:'+iso+'\nPercorso macchina virtuale:'+pathVM)
okVM=input('Confermi s/n ?')
if okVM =='s':
os.system('clear')
os.system('vboxmanage createvm --name \"'+nomeMV+'\" --register')
os.system('vboxmanage modifyvm \"'+nomeMV+'\" --memory '+ramVM+' --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 '+nicVM)
os.system('vboxmanage createhd --filename '+pathVM+' --size '+sizeVM)
os.system('vboxmanage storagectl \"'+nomeMV+'\" --name \"IDE controller\" --add ide')
os.system('vboxmanage storageattach \"'+nomeMV+'\" --storagectl \"IDE controller\" --port 1 --device 0 --type dvddrive --medium '+iso)
os.system('vboxmanage modifyvm \"'+nomeMV+'\" --vrdeport '+rdpVM+' --vrde on')
exit = input('\nPremi 1 per tornare al menu principale.....')
if exit == '1':
x = 2
if okVM=='n':
os.system('clear')
os.system('vboxmanage createvm --name \"'+nomeMV+'\" --register')
os.system('vboxmanage modifyvm \"'+nomeMV+'\" --memory '+ramVM+' --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 '+nicVM)
os.system('vboxmanage createhd --filename '+pathVM+' --size '+sizeVM)
os.system('vboxmanage storagectl \"'+nomeMV+'\" --name \"IDE controller\" --add ide')
os.system('vboxmanage storageattach \"'+nomeMV+'\" --storagectl \"IDE controller\" --port 1 --device 0 --type dvddrive --medium '+iso)
os.system('vboxmanage modifyvm \"'+nomeMV+'\" --vrdeport '+rdpVM+' --vrde on')
exit = input('\nPremi 1 per tornare al menu principale.....')
if exit == '1':
x = 2
if scelta=="3":
os.system('clear')
print('\nQuete è l\'elenco delle macchine virtuali presenti sul sistema\n')
os.system('\nvboxmanage list vms'+'\n')
oldVM = input('\ninserisci il nome della macchina virtuale che vuoi ELIMINARE ')
startVM = input('\nVuoi procedere ad ELIMINARE la macchina virtuale ' + oldVM + ' s/n ')
if startVM=='s':
os.system('\nvboxmanage unregistervm '+oldVM+' --delete')
print('\nLa macchina virtuale '+oldVM+' è stata eliminata con successo. ')
print('\nDi seguito l\'elenco aggiornato delle macchina virtuali presenti sul sistema')
os.system('\nvboxmanage list vms')
exit=input('\nPremi 1 per tornare al menu principale....')
if exit=='1':
x=2
if scelta=='4':
os.system('clear')
print('\nHai scelto di avviare una macchina virtual esistente. Di seguito l\'elenco delle macchine virtuali presenti')
os.system('\nvboxmanage list vms')
oldVM=input('\ninserisci il nome della macchina virtuale che vuoi avviare ')
startVM=input('\nVuoi procedere ad avviare la macchina virtuale '+oldVM+' s/n ')
if startVM=='s':
os.system('\nvboxmanage startvm '+oldVM+' --type headless')
print('\nLa macchina virtuale'+oldVM+' è stata avviata correttamente, puoi procedere alla connessione remota')
exit = input('\nPremi 1 per tornare al menu principale....')
if exit == '1':
x = 2
if scelta=='5':
os.system('clear')
print('\nHai scelto di spegnere una macchina virtuale. Per poter proseguire devi indicare il nome della macchina in questione')
print('\nQuesto è l\'elenco delle macchine virtuali presenti nel sistema ')
os.system('\nvboxmanage list vms')
closeVM=input('\ninserisci il nome della macchina virtuale da spegnere ')
os.system('\nvboxmanage controlvm '+closeVM+' poweroff')
print('\nLa macchina virtuale '+closeVM+' è stata spenta correttamente')
exit = input('\nPremi 1 per tornare al menu principale....')
if exit == '1':
x = 2
if x==0:
exit = input('Hai scelto di uscire dal programma......')