This repository demonstrates a lightweight and practical method to automate Windows 11 virtual machine deployments in Proxmox using:
- Sysprep (generalize + OOBE)
- A custom unattend.xml
- Strategic placement of the unattend file in:
C:\Windows\Panther\Unattend\
This approach allows cloned VMs from a Proxmox template to automatically configure themselves on first boot, without manual interaction.
🚫 This method is NOT intended for production environments
This solution is designed for:
- Lab environments
- Testing scenarios
- Rapid VM provisioning
- Learning and experimentation
It is not recommended for enterprise deployments, Autopilot, or standardized imaging pipelines due to:
- Lack of reliability guarantees
- Potential incompatibility with modern deployment tools
- Security concerns (e.g., plaintext credentials)
The goal of this project is to:
- Simplify VM template creation in Proxmox
- Automate post-clone configuration
- Reduce manual OOBE steps
- Provide a reusable "gold image" workflow for labs
After running Sysprep with:
sysprep /generalize /oobe /shutdown
Windows enters the OOBE (Out-of-Box Experience) phase on next boot.
During this phase, Windows automatically searches for an unattend file in specific locations, including:
C:\Windows\Panther\
C:\Windows\Panther\Unattend\
By placing the file here before Sysprep, the unattend.xml is:
- Preserved inside the image
- Detected automatically on first boot
- Applied during the OOBE phase
This allows the system to:
- Skip OOBE screens
- Create local users
- Apply registry tweaks
- Run first-logon commands
👉 This behavior is specific to Sysprep-based deployments, not ISO-based installations.
- Install Windows 11 normally
At OOBE screen:
Ctrl + Shift + F3
This logs you in as the built-in Administrator and bypasses OOBE.
Install:
- Applications
- Updates
- Configurations
Create folder:
C:\Windows\Panther\Unattend\
Copy your unattend.xml into this directory.
Example:
sysprep /generalize /oobe /shutdown
- Mark VM as template
- Clone as needed
On startup, Windows will:
- Detect unattend.xml
- Skip OOBE
- Apply configurations automatically
Using unattend.xml, you can:
- Skip OOBE screens
- Create local admin accounts
- Enable auto-logon
- Configure regional settings
- Apply registry tweaks
- Enable services (e.g., RDP)
- Run PowerShell commands at first logon
- Not suitable for Autopilot or Intune enrollment
- Panther folder behavior is not guaranteed across all scenarios
- May break after:
- Windows feature updates
- System resets
- Plaintext credentials pose security risks
Eduardo González
L2 Technical Support | Microsoft 365 | Intune | Automation
MIT License