TUTOS.EU

Scripting pour automatiser des tâches de VirtualBox

Comment automatiser des tâches de VirtualBox avec des lignes de commande

VirtualBox peut être piloté en lignes de commande via l'exe "vboxmanage.exe".

Pour l'utiliser il faut se rendre dans son répertoire, soit par défaut sur un Os 64bits C:\Program Files\Oracle\VirtualBox

Ensuite, taper vboxmanage.exe sans arguments etc... permet d'afficher les commandes disponibles.

Voici quelques exemples d'utilisation.

Lister les Vms installées sur VirtualBox.
Attention, vboxmanage.exe est case sensitive, c'est à dire qu'il faut bien respecter les majuscules et les minuscules.

CD "%programfiles%\Oracle\VirtualBox\"
vboxmanage.exe list runningvms
Lien vers le fichier : cliquez ici Copier le code

Démarrer une Vm

CD "%programfiles%\Oracle\VirtualBox\"
vboxmanage.exe startvm "Nom de la Vm Case Sensitive"
Lien vers le fichier : cliquez ici Copier le code

Supprimer et ajouter un partage dans une VM.
Un partage VirtualBox permet à une Vm d'accéder à un répertoire situé sur la machine physique qui fait fonctionner VirtualBox.

CD "%programfiles%\Oracle\VirtualBox\"
vboxmanage sharedfolder remove vmname --name "Nom du partage"
vboxmanage sharedfolder add "Nom de la Vm Case Sensitive" --name "Nom du partage" --hostpath "C:\Un répertoire\Nom du dossier à partager" --automount

Lien vers le fichier : cliquez ici Copier le code

Pour modifier le mode d'accès de la première carte réseau d'une VM avec ici 3 exemples :
Paramétrage de la carte pour un fonctionnement interne à VirtualBox
Paramétrage de la carte en mode "Bridged" afin que, par exemple, votre carte réseau récupère une Ip de votre DHCP tout comme votre machine physique
Paramétrage de la carte pour qu'elle fonctionne avec un NAT. Elle aura une Ip complètement différent de votre machine physique et votre VM aura accès à internet.

CD "%programfiles%\Oracle\VirtualBox\"
vboxmanage modifyvm "Nom de la Vm Case Sensitive" --nic1 intnet
vboxmanage modifyvm "Nom de la Vm Case Sensitive" --nic1 bridged
vboxmanage modifyvm "Nom de la Vm Case Sensitive" --nic1 nat
Lien vers le fichier : cliquez ici Copier le code

Voici un exemple de fichier bat qui permet de configurer des Vms de façon séquentielle puis de les lancer

CD "%programfiles%\Oracle\VirtualBox\"
set NomVM="DC"
vboxmanage modifyvm %NomVM% --nic1 bridged
vboxmanage sharedfolder remove %NomVM% --name "_Partage"
vboxmanage sharedfolder add %NomVM% --name "_Partage" --hostpath "C:\Un Repertoire\Nom repertoire a partager" --automount
vboxmanage.exe startvm %NomVM%

@timeout /t 8 /nobreak > nul

set NomVM="SQL"
vboxmanage modifyvm %NomVM% --nic1 bridged
vboxmanage sharedfolder remove %NomVM% --name "_Partage"
vboxmanage sharedfolder add %NomVM% --name "_Partage" --hostpath "C:\Un Repertoire\Nom repertoire a partager" --automount
vboxmanage.exe startvm %NomVM%

@timeout /t 5 /nobreak > nul

Lien vers le fichier : cliquez ici Copier le code

2