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> <SynchronousCommand wcm:action="add"> <Order>1</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>2</Order> <Description>Allow signed PowerShell scripts</Description> <CommandLine>powershell -NoProfile -Command "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine -Force"</CommandLine> <RequiresUserInput>false</RequiresUserInput> </SynchronousCommand> <!-- Provisioning: oobe-ltsc.ps1 sits at the root of the merged ISO next to this file. Scans every drive for it rather than assuming a letter, since the VirtIO disc moves around post-install. The script installs the VirtIO guest tools, MeshCentral agent, power/RDP/SSH settings, then restarts the VM itself, so this must stay the LAST command. Log: C:\ProgramData\OOBE\oobe-ltsc.log --> <SynchronousCommand wcm:action="add"> <Order>3</Order> <Description>Run oobe-ltsc.ps1 provisioning script</Description> <CommandLine>powershell -NoProfile -ExecutionPolicy Bypass -Command "$s = Get-PSDrive -PSProvider FileSystem | ForEach-Object { Join-Path $_.Root 'oobe-ltsc.ps1' } | Where-Object { Test-Path $_ } | Select-Object -First 1; if ($s) { &amp; $s } else { Write-Warning 'oobe-ltsc.ps1 not found on any drive'; Start-Sleep -Seconds 60 }"</CommandLine> <RequiresUserInput>false</RequiresUserInput> </SynchronousCommand> </FirstLogonCommands> </component> </settings> </unattend>