| 1 | @echo off
|
| 2 | setlocal EnableExtensions
|
| 3 | set "ONEVM_HOSTNAME="
|
| 4 | for %%D in (D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist "%%D:\onenote-vm.ini" for /f "usebackq tokens=1,* delims==" %%A in ("%%D:\onenote-vm.ini") do (
|
| 5 | if /i "%%A"=="HOSTNAME" set "ONEVM_HOSTNAME=%%B"
|
| 6 | if /i "%%A"=="TOKEN" set "WIN7_TOKEN=%%B"
|
| 7 | )
|
| 8 | if not defined ONEVM_HOSTNAME goto agent
|
| 9 | if /i "%COMPUTERNAME%"=="%ONEVM_HOSTNAME%" goto agent
|
| 10 | rem Windows 11 ships without wmic; Windows 7 PowerShell lacks Rename-Computer.
|
| 11 | where wmic >nul 2>&1 || goto rename_powershell
|
| 12 | wmic computersystem where name="%COMPUTERNAME%" call rename name="%ONEVM_HOSTNAME%" >"%~dp0bootstrap.log" 2>&1
|
| 13 | find "ReturnValue = 0;" "%~dp0bootstrap.log" >nul || exit /b 1
|
| 14 | goto restart
|
| 15 | :rename_powershell
|
| 16 | powershell -NoProfile -Command "Rename-Computer -NewName '%ONEVM_HOSTNAME%' -Force -ErrorAction Stop" >"%~dp0bootstrap.log" 2>&1 || exit /b 1
|
| 17 | :restart
|
| 18 | shutdown /r /t 0
|
| 19 | exit /b
|
| 20 |
|
| 21 | :agent
|
| 22 | call "%~dp0run.bat"
|