From 59cb60ffb111b95128e607f6db5a75d653703163 Mon Sep 17 00:00:00 2001 From: Chris Date: Thu, 17 Sep 2026 10:23:53 -0700 Subject: [PATCH] added autounattend --- unattend-vms-WIPE.xml | 381 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 381 insertions(+) create mode 100644 unattend-vms-WIPE.xml diff --git a/unattend-vms-WIPE.xml b/unattend-vms-WIPE.xml new file mode 100644 index 0000000..0adabbf --- /dev/null +++ b/unattend-vms-WIPE.xml @@ -0,0 +1,381 @@ + + + + + + + + + + en-US + + 0409:00000409 + en-US + en-US + en-US + + + + + + + D:\viostor\w10\amd64 + + + E:\viostor\w10\amd64 + + + F:\viostor\w10\amd64 + + + + D:\vioscsi\w10\amd64 + + + E:\vioscsi\w10\amd64 + + + F:\vioscsi\w10\amd64 + + + + D:\NetKVM\w10\amd64 + + + E:\NetKVM\w10\amd64 + + + F:\NetKVM\w10\amd64 + + + + + + + + + OnError + + 0 + true + + + + 1 + EFI + 260 + + + 2 + MSR + 16 + + + 3 + Primary + true + + + + + + 1 + 1 + + FAT32 + + + 2 + 2 + + + 3 + 3 + + C + NTFS + + + + + + + + + + /IMAGE/INDEX + 1 + + + + 0 + 3 + + false + OnError + + + + + + + M7XTQ-FN8P6-TTKYV-9D4CC-J462D + OnError + + true + IT + Contoso + + + + + + + + + + + * + + Pacific Standard Time + IT + Contoso + + + + true + + + + + false + + + + 1 + 2 + + + + + + + + + 0409:00000409 + en-US + en-US + en-US + + + + + + true + true + true + true + true + Work + 3 + + + + + + mdwelcome + true</PlainText> + </AdministratorPassword> + + <LocalAccounts> + <LocalAccount wcm:action="add"> + <Name>labadmin</Name> + <DisplayName>Lab Admin</DisplayName> + <Description>Local administrator for automated VM builds</Description> + <Group>Administrators</Group> + <Password> + <Value>mdwelcome</Value> + <PlainText>true</PlainText> + </Password> + </LocalAccount> + </LocalAccounts> + </UserAccounts> + + <!-- Persistent autologon. Drop LogonCount to 1 if you'd rather the VM + land on a logon screen once provisioning finishes. --> + <AutoLogon> + <Enabled>true</Enabled> + <Username>labadmin</Username> + <LogonCount>999</LogonCount> + <Password> + <Value>mdwelcome</Value> + <PlainText>true</PlainText> + </Password> + </AutoLogon> + + <DisableAutoDaylightTimeSet>false</DisableAutoDaylightTimeSet> + + <!-- =============================================================== + FIRST LOGON COMMANDS - run once, elevated, as labadmin. + =============================================================== --> + <FirstLogonCommands> + + <!-- Installs balloon, vioserial, qxldod video, and the QEMU guest + agent. Scans every drive for the installer rather than assuming + a letter, since the VirtIO disc moves around post-install. --> + <SynchronousCommand wcm:action="add"> + <Order>1</Order> + <Description>Install VirtIO guest tools</Description> + <CommandLine>powershell -NoProfile -ExecutionPolicy Bypass -Command "Get-Volume | Where-Object DriveLetter | ForEach-Object { $exe = $_.DriveLetter + ':\virtio-win-guest-tools.exe'; if (Test-Path $exe) { Start-Process $exe -ArgumentList '/install','/quiet','/norestart' -Wait } }"</CommandLine> + <RequiresUserInput>false</RequiresUserInput> + </SynchronousCommand> + + <SynchronousCommand wcm:action="add"> + <Order>2</Order> + <Description>Open Remote Desktop firewall rules</Description> + <CommandLine>cmd /c netsh advfirewall firewall set rule group="remote desktop" new enable=Yes</CommandLine> + <RequiresUserInput>false</RequiresUserInput> + </SynchronousCommand> + + <SynchronousCommand wcm:action="add"> + <Order>3</Order> + <Description>Disable hibernation and reclaim hiberfil.sys</Description> + <CommandLine>cmd /c powercfg /hibernate off</CommandLine> + <RequiresUserInput>false</RequiresUserInput> + </SynchronousCommand> + + <SynchronousCommand wcm:action="add"> + <Order>4</Order> + <Description>Never sleep or blank the display</Description> + <CommandLine>cmd /c powercfg -change -standby-timeout-ac 0 &amp; powercfg -change -monitor-timeout-ac 0</CommandLine> + <RequiresUserInput>false</RequiresUserInput> + </SynchronousCommand> + + <SynchronousCommand wcm:action="add"> + <Order>5</Order> + <Description>Show file extensions</Description> + <CommandLine>reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t REG_DWORD /d 0 /f</CommandLine> + <RequiresUserInput>false</RequiresUserInput> + </SynchronousCommand> + + <SynchronousCommand wcm:action="add"> + <Order>6</Order> + <Description>Allow signed PowerShell scripts</Description> + <CommandLine>powershell -NoProfile -Command "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine -Force"</CommandLine> + <RequiresUserInput>false</RequiresUserInput> + </SynchronousCommand> + + <!-- + EDIT: your provisioning hook. Drop setup.ps1 into the merged ISO + alongside this file and it'll be found the same way. + + <SynchronousCommand wcm:action="add"> + <Order>7</Order> + <Description>Run post-install provisioning script</Description> + <CommandLine>powershell -NoProfile -ExecutionPolicy Bypass -Command "Get-Volume | Where-Object DriveLetter | ForEach-Object { $s = $_.DriveLetter + ':\setup.ps1'; if (Test-Path $s) { &amp; $s } }"</CommandLine> + <RequiresUserInput>false</RequiresUserInput> + </SynchronousCommand> + --> + + <SynchronousCommand wcm:action="add"> + <Order>8</Order> + <Description>Restart to finalize VirtIO driver installation</Description> + <CommandLine>cmd /c shutdown /r /t 15 /c "Finalizing VirtIO driver install"</CommandLine> + <RequiresUserInput>false</RequiresUserInput> + </SynchronousCommand> + + </FirstLogonCommands> + </component> + </settings> + +</unattend> +