Les exemples de ligne de commande qui suivent fonctionnent sur VMware Fusion. Ubuntu16 est l'exemple de machine virtuelle pour Linux et Win10 est l'exemple de machine virtuelle pour Windows.

Commandes de redémarrage

  • Redémarrer une machine virtuelle.

    vmrun reset Win10.vmwarevm/Win10.vmx soft

Commandes de snapshot

  • Créer un snapshot d'une machine virtuelle

    vmrun snapshot Ubuntu16.vmwarevm/Ubuntu16.vmx mySnapshot

  • Répertorier les snapshots sur la machine virtuelle, en montrant le snapshot créé dans la commande précédente.

    vmrun listSnapshots Ubuntu16.vmwarevm/Ubuntu16.vmx

  • Restaurer le snapshot effectué, ce qui interrompt la machine virtuelle, et redémarrer pour relancer le fonctionnement.

    vmrun revertToSnapshot Ubuntu16.vmwarevm/Ubuntu16.vmx mySnapshot

    vmrun start Ubuntu16.vmwarevm/Ubuntu16.vmx

  • Supprimer le snapshot en spécifiant son nom.

    vmrun deleteSnapshot Ubuntu16.vmwarevm/Ubuntu16.vmx mySnapshot

Commandes d'adaptateur réseau

  • Répertorier tous les adaptateurs réseau sur une machine virtuelle.

    vmrun listNetworkAdapters Win10.vmwarevm/Win10.vmx

  • Ajouter un adaptateur réseau NAT à une machine virtuelle.

    vmrun addNetworkAdapter Win10.vmwarevm/Win10.vmx nat

Commandes de réseau d'hôte

  • Répertorier tous les réseaux sur l'hôte.

    vmrun listHostNetworks

  • Ajouter un transfert de port sur un réseau d'hôte avec les exemples fournis du nom de réseau d'hôte, du protocole, du port de l'hôte, de l'adresse IP d'invité, du port d'invité et de la description.

    sudo vmrun setPortForwarding vmnet2 tcp 8082 1.1.1.2 88 portforwarding-description

Exécution d'applications invitées

La plupart des opérations d'invité vmrun imposent que VMware Tools soit installé sur le système d'exploitation invité.

  • Démarrez l'outil de commande, réduit, sur un invité Windows.

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Win10.vmwarevm/Win10.vmx -interactive cmd.exe

  • Démarrez l'outil de commande sur un client Windows en tant que fenêtre active sur le poste de travail.

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Win10.vmwarevm/Win10.vmx -activeWindow -interactive cmd.exe

  • Exécutez un script sur un client Windows, en utilisant l’interpréteur de scripts Perl. Voici deux exemples distincts.

    vmrun -gu guestUser -gp guestPassword runScriptInGuest Win10.vmwarevm/Win10.vmx -interactive "C:\perl\bin\perl.exe" "system('notepad.exe');"

    vmrun -gu guestUser -gp guestPassword runScriptInGuest Win10.vmwarevm/Win10.vmx -interactive "" "C:\perl\perl.exe C:\script.pl"

  • Exécutez un script de commandes et maintenez ensuite l'exécution. Pour utiliser cmd.exe sous Windows, vous devez spécifier l'interpréteur de scripts comme null.

    vmrun -gu guestUser -gp guestPassword runScriptInGuest Win10.vmwarevm/Win10.vmx "" "cmd.exe /k \"C:\\Program Files\\Microsoft Visual Studio\\VC\\vcvarsall.bat\" x86"

  • Sur un client Linux, exécutez un fichier de script shell Bash ou un script Perl.

    vmrun -gu guestUser -gp guestPassword runScriptInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx -interactive "" "/bin/bash myscript"

    vmrun -gu guestUser -gp guestPassword runScriptInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx -interactive "/usr/bin/perl" "system('firefox');"

  • Démarrez une horloge X sur un invité Linux, ce qui impose l'affichage de l'option -display sur la console.

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx /usr/bin/xclock -display :0

  • Exécutez la même commande d'horloge X, mais redonnez immédiatement la main à la console.

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx -noWait /usr/bin/xclock -display :0

  • Exécutez Firefox.

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx /usr/bin/firefox --display=:0

  • La configuration de l'environnement invité avec le paramètre guestEnv nécessite une autorisation racine sous Linux, car la modification affecte les commandes suivantes émises par d'autres utilisateurs.

    vmrun -gu guestUser -gp guestPassword writeVariable Ubuntu16.vmwarevm/Ubuntu16.vmx guestEnv SRC tmp.example.com:1666

  • Répertoriez les processus dans un invité Linux et terminez le processus numéroté 8192.

    vmrun -gu guestUser -gp guestPassword listProcessesInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx

    vmrun -gu guestUser -gp guestPassword killProcessInGuest UUbuntu16.vmwarevm/Ubuntu16.vmx 8192

  • Exécutez un script Perl sur un invité Linux pour supprimer les retours chariot de style DOS d'un fichier.

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx /usr/bin/perl -e "open(FILE, '>/tmp/unix.txt'); while (<>) { s/\r\n/\n/ ; print FILE}" /tmp/dos.txt

  • Exécutez un script Perl sur un invité Windows pour insérer des retours chariot de style DOS dans un fichier.

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Win10.vmwarevm/Win10.vmx C:\cygwin\bin\perl.exe -e "open(FILE, ‘>C:\Users\user\dos.txt’); while (<>) { s/\n/\r\n/ ; print FILE}" C:\Users\guestUser\unix.txt

Opérations de fichiers d'invité à hôte

  • Pour copier un fichier à partir de l'hôte vers un invité, l'utilisateur doit disposer d'un accès en écriture sur la destination.

    vmrun -gu guestUser -gp guestPassword copyFileFromHostToGuest Ubuntu16.vmwarevm/Ubuntu16.vmx ~/img.db /tmp/img.db

  • Pour copier un fichier d'un invité vers l'hôte, l'utilisateur doit disposer d'une autorisation en lecture sur le fichier source.

    vmrun -gu guestUser -gp guestPassword copyFileFromGuestToHost Ubuntu16.vmwarevm/Ubuntu16.vmx /home/username/addr addr.txt

  • Pour activer les dossiers partagés.

    vmrun enableSharedFolders Ubuntu16.vmwarevm/Ubuntu16.vmx

  • Pour partager un dossier sur un hôte Mac avec un invité Linux particulier.
    Note : Avant de partager des dossiers, vous devez les activer avec l'option enabledSharedFolders, ou en sélectionnant Activer les dossiers partagés dans le panneau Paramètres de partage de la machine virtuelle. Sur des invités Linux, le répertoire /mnt/hgfs est disponible pour le partage, mais vous pouvez utiliser un répertoire différent pour les dossiers partagés.

    vmrun addSharedFolder Ubuntu16.vmwarevm/Ubuntu16.vmx sharedFolderName ~/Share

  • Pour rendre un dossier partagé en lecture seule ou pour supprimer le dossier partagé.
    Note : Les dossiers partagés sont accessibles en écriture par défaut.

    vmrun setSharedFolderState Ubuntu16.vmwarevm/Ubuntu16.vmx sharedFolderName ~/Share readonly

    vmrun removeSharedFolder Ubuntu16.vmwarevm/Ubuntu16.vmx sharedFolderName

    Note : Sous Windows Vista et Windows 7 ou les invités de version ultérieure, seul le compte d'administrateur peut utiliser les options copyFileFromHostToGuest et deleteFileInGuest pour écrire et supprimer des fichiers dans les dossiers C:\ et système, ou utiliser les options createDirectoryInGuest et deleteDirectoryInGuest pour modifier des répertoires système. Les utilisateurs normaux, même ceux disposant de privilèges d'administrateur, ne peuvent pas effectuer ces opérations.

Variables et environnement invités

  • Depuis l'hôte, définissez une variable d'invité sur les machines virtuelles.

    vmrun writeVariable Win10.vmwarevm/Win10.vmx guestVar vmstartdate 21April2017

  • Sur les systèmes d'exploitation invités, lisez la variable d'invité que vous venez de définir.

    > rpctool.exe "info-get guestinfo.vmstartdate"

    $ vmware-rpctool "info-get guestinfo.vmstartdate"

  • Depuis l'hôte, définissez une variable d'environnement invité sur une machine virtuelle Linux et procédez à une vérification en écrivant les variables d'environnement dans un fichier temporaire.
    vmrun writeVariable Ubuntu16.vmwarevm/Ubuntu16.vmx guestEnv LD_LIBRARY_PATH /usr/local/lib
    Guest user: root
    Guest password:
    vmrun runScriptInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx /bin/bash "/usr/bin/env > /tmp/env.out"
    Guest user: root
    Guest password:
    Note : Aucune sortie n'est envoyée à l'hôte lorsque vous utilisez l'option runScriptInGuest avec la commande vmrun. Recherchez la sortie de la commande dans le fichier /tmp/env.out sur l'invité.
  • Sur un invité Linux, déterminez l'adresse IP et définissez-la dans une variable d'invité.
    $ ipaddr=`ifconfig eth0 | grep inet.addr`
    $ vmware-rpctool "info-set guestinfo.theip $ipaddr"
  • Depuis l'hôte, récupérez l'adresse IP qui vient d'être définie sur l'invité.

    vmrun readVariable Ubuntu10/Ubuntu10.vmx guestVar theip

Commandes générales

  • Répertoriez les machines virtuelles en cours d'exécution.
    vmrun list
    Total running VMs: 2
    Absolute-path-to-virtual-machine.vmx
    
    Absolute-path-to-virtual-machine.vmx
  • Préparez l'installation de VMware Tools.

    vmrun installTools Ubuntu16.vmwarevm/Ubuntu16.vmx

Commandes de machine virtuelle modèle

  • Téléchargez une machine virtuelle du système d'exploitation VMware Project Photon.

    vmrun downloadPhotonVM ~