Buscar

VMWare: Workstation vmrun

Con VMWare Workstation se incluye la herramienta de linea de comandos: vmrun.exe

Encontraremos le herramienta vmrun.exe en el directorio donde se encuentra instalado VMWare Workstation, por defecto: 

C:\Program Files (x86)\VMware\VMware Workstation

Si ejecutamos vmrun.exe sin parámetros, podremos ver todas las opciones disponibles.

VMWare: Workstation vmrun


¿Qué utilidad tiene vmrun?


Con vmrun.exe podemos automatizar cualquier operación que haríamos desde GUI.

Es habitual utilizar VMWare Workstation para montar laboratorios con VMs para realizar todo tipo de pruebas.

Imaginemos que queremos iniciar todas las VMs con un cierto orden o bien detenerlas o bien realizar un snapshot de cada una de ellas, con vmrun.exe, podremos automatizar el proceso.


Veamos el funcionamiento de vmrun:


En primer lugar hemos de tener en cuenta tres cosas: 

1) Por defecto, la ruta C:\Program Files (x86)\VMware\VMware Workstation no se encuentra dentro del path del sistema, por lo tanto, o bien la añadimos o bien nos situamos en el directorio para ejecutar vmrun.exe o bien ejecutamos vmrun.exe indicando la ruta completa.

2) Para indicar que se trata de VMs de VMWare Workstation, deberemos indicar los parámetros: -T ws

3) Para indicar la VM sobre la que queremos realizar la operación: inicio, apagado, etc... nos referiremos a la misma indicando la ubicación de su fichero de configuración VMX.


Veamos algunos ejemplos de funcionamiento:


Ver VMs en marcha:

cd "C:\Program Files (x86)\VMware\VMware Workstation"

vmrun -T ws list

Total running VMs: 4
F:\VMWare\VMW-Work\VM4 - (SAN-NAS)\VM4 - (SAN-NAS).vmx
F:\VMWare\VMW-Work\VM1 - (ESX1)\VM1 - (ESX1).vmx
F:\VMWare\VMW-Work\VM2 - (ESX2)\VM2 - (ESX2).vmx
F:\VMWare\VMW-Work\VM3 - (VCenter)\S1.vmx


Detener una VM:

cd "C:\Program Files (x86)\VMware\VMware Workstation"

vmrun -T ws stop "F:\VMWare\VMW-Work\VM3 - (VCenter)\S1.vmx"

Iniciar una VM:

cd "C:\Program Files (x86)\VMware\VMware Workstation"

vmrun -T ws start "F:\VMWare\VMW-Work\VM3 - (VCenter)\S1.vmx" 

Ver snapshots de la VM:

cd "C:\Program Files (x86)\VMware\VMware Workstation"

vmrun -T ws listSnapshots "F:\VMWare\VMW-Work\VM3 - (VCenter)\S1.vmx" 

Total snapshots: 0

Crear un snapshot (se llamará SNAP01):

cd "C:\Program Files (x86)\VMware\VMware Workstation"

vmrun -T ws Snapshot "F:\VMWare\VMW-Work\VM3 - (VCenter)\S1.vmx" SNAP01

Eliminar un snapshot (se llamará SNAP01):

cd "C:\Program Files (x86)\VMware\VMware Workstation"

vmrun -T ws DeleteSnapshot "F:\VMWare\VMW-Work\VM3 - (VCenter)\S1.vmx" SNAP01

Iniciar procesos en el interior de la VM:

Es necesario: 

1) La VM ha de disponer de VMWare Tools instaladas.
2) Es necesario conectividad a nivel de TCP/IP entre equipo donde está instalado VMWare Workstation y la VM.
3) Es necesario conocer las credenciales del sistema operativo de la VM.

cd "C:\Program Files (x86)\VMware\VMware Workstation" 

vmrun -T ws -gu XXXX -gp YYYY runProgramInGuest "F:\VMWare\VMW-Work\VM3 - (VCenter)\S1.vmx" cmd.exe

Para iniciar el proceso en la sesión iniciada:
 

vmrun -T ws -gu XXXX -gp YYYY runProgramInGuest "F:\VMWare\VMW-Work\VM3 - (VCenter)\S1.vmx" -activeWindow cmd.exe

7 comentarios:

  1. Hola Xavi,
    muy buen aporte como siempre! +1000

    Saludos
    Ramon

    ResponderEliminar
    Respuestas
    1. Gracias a ti Ramón.

      ¡Me alegro que te haya gustado!

      ¡Un saludo!

      Xavi.

      Eliminar
  2. Muy bueno tu post!! Me funciono perfecto pero sabes como ejecutar el .bat sin tener que iniciar la sesion de windows?? Porq si se corta la luz tengo que loguearme en el host y recien ahi corre el .bat

    ResponderEliminar
    Respuestas
    1. Hola Silvio,

      Puedes probar con una directiva de grupo (GPO) de equipo.

      Si el equipo no está añadido a un dominio de Active Directory, deberás usar GPOs locales con: gpedit.msc

      Si te sitúas en: Configuración de equipo, Scripts (inicio o apagado).

      Podrás indicar la ruta del BAT a ejecutar.

      Ya nos contarás si te ha funcionado.

      Un saludo,

      Xavi.

      Eliminar
    2. Hola Silvio,

      Quisiera saber si pudiste iniciar automáticamente la virtual con el .bat y con las recomendaciones de SYSADMIT.com.
      Te agradezco si me explicas que fue lo que hiciste.

      Saludos
      Steven.

      Eliminar
  3. Como hago para que me inicie a pantallacompleta amigo habra algun parametro adicional ?

    ResponderEliminar
    Respuestas
    1. Hola Alberto,

      Puedes editar el fichero de configuración VMX de la máquina virtual que quieras iniciar con pantalla completa y añadir lo siguiente:

      gui.fullScreenAtPowerOn = "TRUE"
      gui.viewModeAtPowerOn = "fullscreen"
      gui.lastPoweredViewMode = "fullscreen"

      Un saludo,

      Xavi.

      Eliminar