Vous pouvez utiliser l'utilitaire de ligne de commande vmcli dans VMware Fusion pour interagir avec l'hyperviseur à partir de la fenêtre de terminal macOS, ou. En utilisant les commandes vmcli, vous pouvez effectuer diverses opérations sur la machine virtuelle, telles que la création d'une machine virtuelle ou d'un modèle de machine virtuelle.

Exécution de l'utilitaire de ligne de commande vmcli

Vous pouvez exécuter vmcli à partir de la fenêtre de terminal macOS ou. Vous pouvez également créer des scripts pour exécuter plusieurs commandes.

Pour exécuter la commande vmcli et obtenir la syntaxe afin d'utiliser la fonctionnalité disponible, exécutez la commande suivante.

vmcli --help

La sortie suivante s'affiche une fois la commande exécutée.

vmcli --help
Usage: vmcli [-v | --version] [<vmx location>] <module> <command> [<args>] [--verbose] [-h | --help] [<vmx location>]

Top level arguments:
    -v, --version
        Display the version information.
Global arguments:
    <vmx location>        (required for commands working with VMs)
        Location of the vmx file to work with. Can be the first or last argument on the command line.
    --verbose
        Enable verbose logging.
    -h, --help
        Display the help information
Available modules:
    Chipset
        Chipset options.
    ConfigParams
        Set VM configuration parameters.
    Disk
        Module to perform disk operations.
    Ethernet
        Setup the ethernet configuration in the guest.
    Guest
        guest ops
    HGFS
        HGFS options.
    MKS
        Mouse, keyboard and screen operations.
    Nvme
        Setup NVME ports in the guest.
    Power
        Set the power state of the vm.
    Sata
        Setup SATA ports in the guest.
    Serial
        Setup serial ports in the guest.
    Snapshot
        Snapshot configuration
    Tools
        Tools related configuration.
    VM
        VM related Operations
    VMTemplate
        Create and Deploy vm template
    VProbes
        Setup VProbes in the guest

Pour en savoir plus sur la syntaxe de chaque module ou opération, par exemple le module Power, vous pouvez exécuter la commande suivante.

vmcli Power --help

La sortie suivante s'affiche une fois la commande exécutée.

vmcli Power --help
Usage: vmcli [-v | --version] [<vmx location>] Power  [--verbose] [-h | --help] query Start Stop Pause Reset Suspend Unpause [<vmx location>]

Top level arguments:
    -v, --version
        Display the version information.
Global arguments:
    <vmx location>        (required for commands working with VMs)
        Location of the vmx file to work with. Can be the first or last argument on the command line.
    --verbose
        Enable verbose logging.
    -h, --help
        Display the help information
Module:
    Power
        Set the power state of the vm.
Arguments available to module "Power":
    query
        Query the power state of the VM.
    Start
        Start the virtual machine.
    Stop
        Stop the virtual machine.
    Pause
        Pause the virtual machine.
    Reset
        Rest the virtual machine.
    Suspend
        Suspend the virtual machine.
    Unpause
        Unpause the virtual machine.

Vous pouvez également récupérer les informations d'utilisation d'une opération spécifique de n'importe quel module.

vmcli Power query --help

La sortie suivante s'affiche une fois la commande exécutée.

vmcli power query --help
Usage: vmcli [-v | --version] [<vmx location>] Power query  [--verbose] [-h | --help] [-f | --format <2, 1, 0>] [<vmx location>]

Top level arguments:
    -v, --version
        Display the version information.
Global arguments:
    <vmx location>        (required for commands working with VMs)
        Location of the vmx file to work with. Can be the first or last argument on the command line.
    --verbose
        Enable verbose logging.
    -h, --help
        Display the help information
Module:
    query
        Query the power state of the VM.
Arguments available to module "query":
    -f, --format <2, 1, 0>
        Sets the format of the output.

Utilisation de vmcli pour créer un modèle à partir d'une machine virtuelle existante

Vous pouvez créer un modèle de machine virtuelle à partir d'une machine virtuelle existante. Vous pouvez utiliser ultérieurement ce modèle pour créer une machine virtuelle avec la même configuration.

Vous pouvez utiliser la syntaxe suivante.

vmwcli <source vmx path> vmtemplate create  -p <template vmtx path> -n <template name>
Variable Description
source vmx path Chemin d'accès à la machine virtuelle source vmx à partir de laquelle le modèle sera créé.
template vmtx path Chemin d'accès complet au nouveau dossier vmtemplate avec le nom de fichier comportant l'extension .vmtx.

Exemple : "~/Virtual Machines.localized/clonevmtest2.vmwarevm/clonevmtest2.vmtx"

template name Nom du modèle.

Utilisation de vmcli pour déployer un modèle de machine virtuelle

Vous pouvez déployer la valeur VMTemplate qui a été créée par la commande vmcli. À l'aide de la syntaxe suivante, vous pouvez créer une machine virtuelle à partir de la valeur VMTemplate spécifiée au même emplacement.

VMTemplate Deploy -p <Full file path of vmtx file of existing VM template>

Utilisation de vmcli pour créer une machine virtuelle

Vous pouvez utiliser la syntaxe suivante pour créer une machine virtuelle.

VM Create -n <vm name> -d <path where vm will be created>  -g <guest operating system>
Exemple :
VM Create -n myVM -d ~/Desktop/ -g windows9-64

Exemple de création d'une machine virtuelle et de rattachement d'un fichier ISO à celle-ci

Après avoir effectué les étapes suivantes, vous pouvez ajouter une machine virtuelle récemment créée à la bibliothèque de machines virtuelles, puis mettre sous tension la machine virtuelle pour démarrer le processus d'installation invité à l'aide du fichier ISO. Vous pouvez utiliser la syntaxe de l'exemple suivant.

Exemple :
echo "----creating VM-----"
 
vmcli VM Create -n windowstest -d ~/Desktop/test -g windows9-64
 
vmcli ConfigParams SetEntry displayName "windowstest"  ~/Desktop/test/windowstest.vmx
 
 
echo "----create Nvme vmdk related things-----"
 
vmcli nvme SetPresent nvme0 1 ~/Desktop/test/windowstest.vmx
 
vmcli Disk SetBackingInfo nvme0:0 disk windowstest.vmdk 1 ~/Desktop/test/windowstest.vmx
 
vmcli Disk SetPresent nvme0:0 1 ~/Desktop/test/windowstest.vmx
 
echo "----create sata disk for iso mounting-----"
 
vmcli Sata SetPresent sata0 1 ~/Desktop/test/windowstest.vmx
 
vmcli Disk SetBackingInfo sata0:0 cdrom_image ~/Documents/iso/22621.1.220506-1250.ni_release_CLIENT_ENTERPRISES_OEM_x64FRE_en-us.iso 1 ~/Desktop/test/windowstest.vmx
 
vmcli Disk SetPresent sata0:0 1 ~/Desktop/test/windowstest.vmx
 
echo "----create ethernet related things-----"
 
vmcli Ethernet query ~/Desktop/test/windowstest.vmx
 
vmcli Ethernet SetVirtualDevice ethernet0 vmxnet3 ~/Desktop/test/windowstest.vmx
 
vmcli Ethernet SetConnectionType ethernet0 nat ~/Desktop/test/windowstest.vmx
 
vmcli Ethernet SetAddressType ethernet0 generated "" ~/Desktop/test/windowstest.vmx
 
vmcli Ethernet SetLinkStatePropagation ethernet0 true  ~/Desktop/test/windowstest.vmx
 
vmcli Ethernet SetPresent ethernet0 1 ~/Desktop/test/windowstest.vmx
 
vmcli ConfigParams SetEntry  bios.bootOrder "cdrom,hdd" ~/Desktop/test/windowstest.vmx
 
echo "---------Done-------"