elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [BATCH] VBOX VirtualMachine Installer by Elektro H@cker
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [BATCH] VBOX VirtualMachine Installer by Elektro H@cker  (Leído 2,804 veces)
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
[BATCH] VBOX VirtualMachine Installer by Elektro H@cker
« en: 15 Agosto 2012, 19:47 pm »

Este script sirve para auto-instalar una máquina virtual en VirtualBox, Sin necesidad de abrir el programa y darle al botón de "Máquina > Agregar".

La idea del script es automatizar la tarea de instalar una máquina clonada, en otros equipos (Por ejemplo).

Instrucciones:
1º - Hacer un backup de una máquina virtual o Clonar una máquina virtual en una carpeta.
2º - Meter este script en la carpeta junto a los archivos de la máquina clonada (máquina.vbox, disco.vhd, script.bat , etc...)
3º - Ejecutar el script.

PD: Cada vez hago scripts más raros :xD

EDITO: Bug corregido
Nueva versión

Código
  1. @Echo OFF
  2. Title VBOX VirtualMachine Installer by Elektro H@cker v0.3
  3. REM Testeado con la versión 4.1.18 de VirtualBox
  4. Color 07
  5.  
  6. Echo: VBOX VirtualMachine Installer  by Elektro H@cker
  7. Echo: _____________________________  _________________ | MORE
  8.  
  9. :: Comprueba si existe VirtualBOX en el sistema.
  10. REG Query "HKEY_CURRENT_USER\Software\Oracle\VirtualBox\Install" | Find /I "installed" >NUL 2>&1 || (
  11. Echo La operaci¢n se ha cancelado porque VirtualBox no est… instalado en este PC. | MORE
  12. Timeout /T 10 || (Pause)
  13. Exit /B 1
  14. )
  15.  
  16. :: Comprueba si existe el archivo de configuración de VirtualBox, De lo contrario, Crea el archivo por defecto.
  17. If Not Exist "%USERPROFILE%\.VirtualBox\VirtualBox.xml" (
  18. (
  19. Echo ^<?xml version="1.0"?^>
  20. Echo ^<!--
  21. Echo ** DO NOT EDIT THIS FILE.
  22. Echo ** If you make changes to this file while any VirtualBox related application
  23. Echo ** is running, your changes will be overwritten later, without taking effect.
  24. Echo ** Use VBoxManage or the VirtualBox Manager GUI to make changes.
  25. Echo --^>
  26. Echo ^<VirtualBox xmlns="http://www.innotek.de/VirtualBox-settings" version="1.12-windows"^>
  27. Echo   ^<Global^>
  28. Echo     ^<ExtraData^>
  29. Echo       ^<ExtraDataItem name="GUI/DetailsPageBoxes" value="general,system,preview,display,storage,audio,network,usb,sharedFolders,description"/^>
  30. Echo       ^<ExtraDataItem name="GUI/LastWindowPosition" value="575,245,770,550"/^>
  31. Echo       ^<ExtraDataItem name="GUI/SplitterSizes" value="302,463"/^>
  32. Echo       ^<ExtraDataItem name="GUI/UpdateCheckCount" value="2"/^>
  33. Echo       ^<ExtraDataItem name="GUI/UpdateDate" value="1 d, 2012-08-17, stable, 4.1.18"/^>
  34. Echo     ^</ExtraData^>
  35. Echo     ^<MachineRegistry/^>
  36. Echo     ^<MediaRegistry^>
  37. Echo       ^<HardDisks/^>
  38. Echo       ^<DVDImages/^>
  39. Echo       ^<FloppyImages/^>
  40. Echo     ^</MediaRegistry^>
  41. Echo     ^<NetserviceRegistry^>
  42. Echo       ^<DHCPServers^>
  43. Echo         ^<DHCPServer networkName="HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter" IPAddress="192.168.56.100" networkMask="255.255.255.0" lowerIP="192.168.56.101" upperIP="192.168.56.254" enabled="1"/^>
  44. Echo       ^</DHCPServers^>
  45. Echo     ^</NetserviceRegistry^>
  46. Echo     ^<SystemProperties defaultMachineFolder="C:\Users\Administrador\VirtualBox VMs" defaultHardDiskFormat="VDI" VRDEAuthLibrary="VBoxAuth" webServiceAuthLibrary="VBoxAuth" LogHistoryCount="3"/^>
  47. Echo     ^<USBDeviceFilters/^>
  48. Echo   ^</Global^>
  49. Echo ^</VirtualBox^>
  50. ) > "%USERPROFILE%\.VirtualBox\VirtualBox.xml"
  51. )
  52.  
  53. :: Elimina el archivo temporal (Si existiera).
  54. Del /Q "%userprofile%\.VirtualBox\virtualbox.xml.tmp" 2>NUL
  55.  
  56. For /R %%@ in (*.vbox) DO (
  57.  
  58. :: Obtiene el nombre de la máquina virtual.
  59. Set "Name=%%~n@"
  60. Call Echo M…quina virtual encontrada: "%%NAME%%" | MORE
  61.  
  62. :: Obtiene el Machine UUID de la máquina virtual.
  63. For /F "Tokens=2 Delims={}" %%A in ('Type "%%@" ^| Find /I "Machine uuid"') Do (Set "Machine_UUID={%%A}")
  64.  
  65. :: Obtiene el HardDisk UUID de la máquina virtual.
  66. For /F "Tokens=2 Delims={}" %%A in ('Type "%%@" ^| Find /I "HardDisk uuid"') Do (Set "HardDisk_UUID={%%A}")
  67.  
  68. :: Obtiene el formato del disco duro virtual.
  69. For /F "Tokens=4 Delims==" %%A in ('Type "%%@" ^| Find /I "HardDisk uuid="') Do (Set "DISK=%%A"))
  70. Set "DISK=%DISK:~1,3%"
  71. )
  72.  
  73. :: Obtiene el directorio por defecto de las máquinas virtuales de VBOX.
  74. For /F tokens^=2^ delims^=^" %%A in ('Type ^"%USERPROFILE%\.VirtualBox\VirtualBox.xml^" ^| Find /I ^"defaultMachineFolder^"') Do (Set "FOLDER=%%A") & REM "
  75.  
  76. :: Comprueba si esta máquina ya está instalada.
  77.  
  78. Type "%userprofile%\.VirtualBox\virtualbox.xml" | find "%Machine_UUID%" >NUL 2>&1
  79. IF NOT %ERRORLEVEL% EQU 0 (Goto :COPY)
  80.  
  81. Echo La m…quina virtual "%NAME%" ya existe. | MORE
  82. Choice /M "¨Desea reemplazar la m…quina virtual?"
  83. If "%ERRORLEVEL%" EQU "1" (Set "Replace=SI") ELSE (
  84. Echo La operaci¢n se ha cancelado.
  85. Timeout /T 5 || (Pause)
  86. )
  87.  
  88. :: Copia la máquina virtual al directorio de destino.
  89. Echo Copiando los archivos de la m…quina virtual "%NAME%"... | MORE
  90. MKDIR "%FOLDER%\%NAME%\" 2>NUL
  91. For /R %%@ in (*.vbox*) DO (Echo Copiando %%~nx@ & copy "%%@" "%FOLDER%\%NAME%\" >NUL)
  92. For /R %%@ in (*.%DISK%) DO (Echo Copiando %%~nx@ | MORE & copy "%%@" "%FOLDER%\%NAME%\" >NUL)
  93. If defined REPLACE (GOTO :FIN)
  94.  
  95. :: Comprueba si esta será la primera máquina virtual que instalaremos, O ya existen más máquinas virtuales instaladas en VirtualBox.
  96. type "%userprofile%\.VirtualBox\virtualbox.xml" | find "<MachineRegistry>" >NUL 2>&1 && (
  97. Set "FirstMachine=NO"
  98. For /F "tokens=1 delims=:" %%X in ('type "%userprofile%\.VirtualBox\virtualbox.xml" ^| findstr /N "<MachineRegistry>"')  Do (Set Line=%%X)
  99. ) || (
  100. Set "FirstMachine=YES"
  101. For /F "tokens=1 delims=:" %%X in ('type "%userprofile%\.VirtualBox\virtualbox.xml" ^| findstr /N "<MachineRegistry/>"') Do (Set Line=%%X)
  102. Set /A Line-=1
  103. )
  104. Set /A LastLine=LINE+1
  105.  
  106. :: Modifica el archivo de configuración de VirtualBox agregando las lineas necesarias.
  107. For /F "tokens=*" %%# in ('type "%userprofile%\.VirtualBox\virtualbox.xml"') Do (
  108. Echo %%# >> "%userprofile%\.VirtualBox\virtualbox.xml.tmp"
  109. Call :Next
  110. )
  111.  
  112. :Next
  113. Set /A Next+=1
  114. IF "%NEXT%" EQU "%LINE%" (
  115. IF "%FirstMachine%" EQU "NO" (
  116. Echo ^<MachineEntry uuid="%Machine_UUID%" src="%FOLDER%\%NAME%\%NAME%.vbox"/^> >> "%userprofile%\.VirtualBox\virtualbox.xml.tmp"
  117. Type "%userprofile%\.VirtualBox\virtualbox.xml" | MORE +%LINE% >> "%userprofile%\.VirtualBox\virtualbox.xml.tmp"
  118. ) ELSE (
  119. Echo ^<MachineRegistry^> >> "%userprofile%\.VirtualBox\virtualbox.xml.tmp"
  120. Echo ^<MachineEntry uuid="%Machine_UUID%" src="%FOLDER%\%NAME%\%NAME%.vbox"/^> >> "%userprofile%\.VirtualBox\virtualbox.xml.tmp"
  121. Echo ^</MachineRegistry^> >> "%userprofile%\.VirtualBox\virtualbox.xml.tmp"
  122. Type "%userprofile%\.VirtualBox\virtualbox.xml" | MORE +%LASTLINE% >> "%userprofile%\.VirtualBox\virtualbox.xml.tmp"
  123. )
  124. Move /Y "%userprofile%\.VirtualBox\virtualbox.xml.tmp" "%userprofile%\.VirtualBox\virtualbox.xml" >NUL
  125. Goto :FIN
  126. )
  127. Goto :EOF
  128.  
  129. :FIN
  130. Echo La m…quina virtual "%NAME%" se ha instalado satisfact¢riamente.
  131. Timeout /T 5 || (Pause)


« Última modificación: 16 Agosto 2012, 16:30 pm por EleKtro H@cker » En línea



Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [BATCH] VBOX VirtualMachine Installer by Elektro H@cker
« Respuesta #1 en: 15 Agosto 2012, 20:39 pm »

Me lo añado a marcadores puede serme muy útil en el futuro. Gracias :)


En línea

Danyfirex


Desconectado Desconectado

Mensajes: 493


My Dear Mizuho


Ver Perfil
Re: [BATCH] VBOX VirtualMachine Installer by Elektro H@cker
« Respuesta #2 en: 15 Agosto 2012, 20:48 pm »

Esta muy Bueno el Código, Gracias  ;-). voy a estudiarlo  a fondo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
No encuentro el OEP de vbox
Ingeniería Inversa
Flako 0 2,285 Último mensaje 18 Agosto 2004, 04:40 am
por Flako
Como practico con una VirtualMachine « 1 2 »
Hacking
Nu|kEr32 11 6,697 Último mensaje 23 Agosto 2010, 17:33 pm
por Nu|kEr32
Dos Windows 7 en VBox « 1 2 »
Windows
charlichin 13 7,064 Último mensaje 30 Noviembre 2011, 22:01 pm
por charlichin
[APORTE] Ruby 1.9.3 portable auto-instalable para Windows by Elektro H@cker
Scripting
Eleкtro 1 3,553 Último mensaje 7 Marzo 2012, 09:46 am
por Eleкtro
[BATCH] [APORTE] TextFont Installer (Instalador automático de fuentes de texto)
Scripting
Eleкtro 1 4,842 Último mensaje 12 Septiembre 2017, 19:26 pm
por lahero85
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines