Pages

VMWare Script - Autoarranque de maquinas virtuales


Cuando nuestro equipo servidor, que posee como plataforma de virtualización VMWare Workstation, sufre un shutdown o un restart inesperado, debemos inciar nuestras maquina virtuales manualmente.Para esto, se ha generado un script el cual, al iniciar el host, hace un startup de las maquinas virtuales.

Creación del Script

  • Copiamos las siguientes lineas dentro de un notepad:
          @Echo off
          cd \Archivos de programa\VMware\VMware Workstation
          vmrun start "F:\Virtual Machine\Windows XP\Windows XP 

          Profesional.vmx"
  • Modificamos las lineas del script según en donde se encuentre VMWare y la maquina virtual. 
  • Modificamos la extención del archivo de ".txt" a ."bat". 
  • Ubicar el script en "C:\Documents and Settings\"usuario"\Menú Inicio\Programas\Inicio".

    Explicación del Script

    •  cd \Archivos de programa\VMware\VMware Workstatio: con esta línea nos posicionamos en la carpeta que se encuentra instalado VMWare Workstation.
    •  vmrum start: comando usado VMWare para iniciar las maquinas virtuales.
    • "F:\Virtual Machine\Windows XP\Windows XP Profesional.vmx": es la ruta donde se aloja la maquina virtual, siempre tiene que estar entre comillas así el comando "vmrum start" lo tomo como un comando valido.

    21 comentarios:

    1. Gracias, muy útil y script explicado a la perfección

      ResponderEliminar
    2. no, no me funciona, tengo windows 8 y hago lo que me dices al pie de la letra y n funciona,
      solo logro abrir el vmware workstation con el siguiente comando:
      Start vmware Workstation.exe
      pero no logro arrancar la maquina virtual, porfavor ayudenme. gracias

      ResponderEliminar
    3. excelente.
      me funsiono inclusive con windows server enterprise 2008

      ResponderEliminar
    4. Funciona bien, ojo que al copiar y pegar de esta pagina professional tiene una sola s.
      Gracias!!!

      ResponderEliminar
    5. Voy a probar en un Windows Server 2008 con VMWare Workstation 10, el tema es como saltar el pass de Admin de Windows para que en caso de corte de luz, ekl servidor arranque solo y cargue las maquinas virtuales sin tener que iniciar sesion manual, quizas esto se puede lograr tambien agregandolo como servicio de inicio automatico sin inicio de sesion de administrador en el escritorio. Pruebo y vuelvo a comentarles .... si alguien tiene una idea de como hacer eso, seria bueno volcarla aca en el blog.

      ResponderEliminar
    6. Este comentario ha sido eliminado por el autor.

      ResponderEliminar
    7. Este comentario ha sido eliminado por el autor.

      ResponderEliminar
    8. Hola, me pasa lo siguiente, arrancando la maquina virtual desde una ventana de comandos de la forma en que describiste se abre el vmware y puedo visualizar la maquina virtual en la pc. Pero si lo abro desde el programador de tareas o creo un archivo bat con el mismo comando a ejecutar, se levanta la maquina virtual pero queda como un servicio en la barra de tareas, no pudiendo accederla desde la misma pc. Tienen idea de como solucionar esto? lo que necesito es que la maquina virtual quede 'accesible' desde la pc tambien, no solo via remota.

      ResponderEliminar
    9. Gracias hermano por tú aporte, quisiera hacer una pequeña aportación para hacer más sencillo el script.
      Como sabemos para que se inicie un programa automáticamente en Windows debe estar en el directorio inicio o start pero este directorio su ruta o path depende del nombre del usuario y de la versión de Windows. Y tristemente personas por su desconocimiento he impotencia vienen y dicen improperios o que no sirve el Script aun cuando funciona a la perfeccion en todas las versiones de windows
      Entonces una vez hecho el script guardalo con la extension *.bat.
      abre ejecutar o teclea windows+r y en la ventana ejecutar escribe shell:start y se te abrirá el directorio donde debes ubicar el script independientemente de la versión de windows y tu nombre de usuario. Simplemente ubica el script justo alli
      Ya que para el que no tiene conocimientos del árbol de directorios ni del uso del command prompt. no sabrá que donde dice usuario hay que editar o modificar por el nombre de usuario que tiene la PC.
      Ejemplo:
      WINDOWS7
      "C:\Documents and Settings\"USUARIO"\Menú Inicio\Programas\Inicio".
      "C:\Documents and Settings\"USUARIO"\start menu\Programs\Startup".

      EDITANDO
      "C:\Documents and Settings\"USUARIO"\Menú Inicio\Programas\Inicio".
      "C:\Documents and Settings\"Miguel"\Menú Inicio\Programas\Inicio".
      "C:\Documents and Settings\"Carlos"\Menú Inicio\Programas\Inicio".
      "C:\Documents and Settings\"Pedro"\Menú Inicio\Programas\Inicio".

      WINDOWS10
      "C:\Users\USUARIO\AppData\Roaming\Microsoft\Windows\Menú Inicio\Programas\Inicio"
      "C:\Users\USUARIO\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"

      ResponderEliminar
    10. muy bien, la vdd esta muy sensillo este paso,
      Pero como seria para que cuando inicie el equipo la maquina virtual inice en automatico sin que el usuario inicie sesion.
      pongamos un ejemplo: el host durante la noche se apaga por que se va la luz, pero cuando esta regresa el equipo host enciende solo por su configuracion que ya tiene configurada, y carga todo. exepto la maquina virtual, por que el usuario tiene contraseña o bien ingresa otro usuario distinto al que tiene configurado el .BAT. en si lo que se necesita que este .BAT se inicie como servicio, no importando que un usuario inicie o no la sesion.
      como seria los pasos a seguir? o alguna sugerencia?
      gracias.

      ResponderEliminar
      Respuestas
      1. Estimados compañeros de fatigas,tras varios intentos de autoarrancar maquinas de esta manera, me di cuenta de que a partir de VWware 8 pro, existe la posibilidad de compartir las maquinas virtuales, "shared vms" si lo utilizamos nos da la posibilidad de clonarlas y autoarrancar las maquinas que queramos incluso decidiendo cuanto tiempo de espera entre cada una, funciona muy bien y sin script ni lineas de codigo, sólo que viene muy mal documentado, probadlo, saludos.

        Eliminar
    11. Gracias por el aporte, pero por que me dice que "vmrun" no se reconoce como un comando interno o externo

      ResponderEliminar
    12. ¡Muy bueno el script!

      Para el que lo pregunta:

      El comando vmrun lo encontrarás en esta ruta:

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

      Además con vmrun puedes automatizar muchas cosas como crear snapshots e iniciar procesos en el interior de la VM, aquí lo encontrarás explicado con ejemplos:

      http://www.sysadmit.com/2016/11/vmware-workstation-vmrun.html


      ResponderEliminar
    13. espectacular, funciona en windows 10 y si no pueden agregarlo a la lista de inicio aqui un enlace: https://answers.microsoft.com/es-es/windows/forum/windows_10-desktop/agregar-programas-a-inicioarranque-en-windows-10/3419ab8b-bdb0-43f8-a6cb-686ce77c079d

      ResponderEliminar
    14. Este comentario ha sido eliminado por el autor.

      ResponderEliminar
    15. Como dijo Manuel Garcia, como se hace para que la MV si inicie, sin iniciar sesion como usuario (para que la MV se inicie automaticamente al encender el equipo).
      Gracias

      ResponderEliminar
      Respuestas
      1. Estimados compañeros de fatigas,tras varios intentos de autoarrancar maquinas de esta manera, me di cuenta de que a partir de VWware 8 pro, existe la posibilidad de compartir las maquinas virtuales, "shared vms" si lo utilizamos nos da la posibilidad de clonarlas y autoarrancar las maquinas que queramos incluso decidiendo cuanto tiempo de espera entre cada una, funciona muy bien y sin script ni lineas de codigo, sólo que viene muy mal documentado, probadlo, saludos.

        Eliminar
    16. Estimados compañeros de fatigas,tras varios intentos de autoarrancar maquinas de esta manera, me di cuenta de que a partir de VWware 8 pro, existe la posibilidad de compartir las maquinas virtuales, "shared vms" si lo utilamos nos da la posibilidad de clonarlas y autoarrancar las maquinas que queramos incluso decidiendo cuanto tiempo de espera entre cada una, funciona muy bien y sin script ni lines de codigo, sólo que viene muy mal documentado, probadlo, saludos.

      ResponderEliminar
    17. Muy bueno,
      Muy util
      Funciona perfectamente, gracias

      ResponderEliminar