Basado en el ejemplo ".ps1" (secuencia de comandos de Windows PowerShell) anterior, he escrito un archivo de secuencia de comandos ".bat" para cambiar la hora del reloj en la que se inicia la máquina virtual de VirtualBox.
El tiempo de inicio deseado se establece en la variable "TEMPO_START_TIMESTAMP" en formato de época. Puede obtener el tiempo de inicio deseado equivalente a epoh en " http://www.timestampconvert.com/ ".
El nombre de la máquina virtual de VirtualBox que se va a iniciar se necesita en la variable "NOME" (misma nomenchature utilizada en el script ".ps1" anterior).
echo off
echo %time%
set NOME="Windows_7_x64"
set TEMPO_CS_2_MS=0
set TEMPO_S_2_MS=000
rem # Starts the VM always on the date 07/11/2014 - 11h58
rem http://www.timestampconvert.com/
set TEMPO_START_TIMESTAMP=1415361480
for /f "delims=" %%x in ('cscript /nologo toEpoch.vbs') do set epoch=%%x
rem %epoch%
set TEMPO_CURRENT_TIMESTAMP=%epoch%
rem set TEMPO_CURRENT_TIMESTAMP=1544518714
set /A TEMPO_TEMP=(%TEMPO_START_TIMESTAMP%-%TEMPO_CURRENT_TIMESTAMP%)
call set TEMPO=%TEMPO_TEMP%%TEMPO_S_2_MS%
rem %TEMPO_TEMP%
rem %TEMPO%
c:\Progra~1\Oracle\VirtualBox\VBoxManage setextradata %NOME% "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
c:\Progra~1\Oracle\VirtualBox\VBoxManage modifyvm %NOME% --biossystemtimeoffset %TEMPO%
c:\Progra~1\Oracle\VirtualBox\VBoxManage startvm %NOME%
También necesitará la hora actual en formato epoh, para esto use el siguiente script (guarde como "toEpoch.vbs", este script visual básico se llama desde el script ".bat" anterior):
WScript.Echo DateDiff("s", "01/01/1970 00:00:00", Now())
Para ejecutar la máquina virtual, simplemente ejecute el archivo de script ".bat" anterior. No es necesario abrir la interfaz "Administración de Oracle VM VirtualBox".
Espero que esto ayude.
Saludos