Sometimes you need Sysprep instead of QuickPrep when creating a VMware View linked-clone desktop pool, usually because legacy software requires a unique local security identifier (SID) on every desktop. I was recently asked about it because an older antivirus product needed unique SIDs to centrally manage its in-OS agents.
The two customization methods are compared in the View Administration Guide (pages 95–96), and VMware KB 2003797 sums up the differences:
QuickPrep vs. Sysprep
| Function | QuickPrep | Sysprep |
|---|---|---|
| Removing local accounts | No | Yes |
| Changing Security Identifiers (SID) | No | Yes |
| Removing parent from domain | No | Yes |
| Changing computer name | Yes | Yes |
| Joining the new instance to the domain | Yes | Yes |
| Generating new SID | No | Yes |
| Language, regional settings, date, and time customization | No | Yes |
| Number of reboots | 0 | 1 (seal & mini-setup) |
| Requires configuration file and Sysprep | No | Yes |
High-Level Steps
- Copy the Sysprep files to the vCenter Server. This is only needed for Windows XP; Windows 7 includes Sysprep. Details are in VMware KB 1005593.
- Create a guest customization specification in vCenter.
- Add a desktop pool that uses Sysprep with that customization specification.
Create a Guest Customization Specification
In vCenter, open Home → Customization Specification Manager, click New, and enter a name on the Properties page. Do not use a custom Sysprep answer file.

Continue to the Computer Name page and set it to use the virtual machine name. Then enter your license key, administrator password, time zone, and so on until you reach the Network page.
Leave the network at the default Typical settings so the desktops use DHCP.

Leave the Workgroup or Domain page at its default. Anything entered here is ignored; the VM joins the domain using the guest customization settings in the View pool instead.

On the final Operating System Options page, make sure Generate New Security ID (SID) is checked. Unique SIDs are the whole reason we’re using Sysprep. Then finish the wizard.

Add the Desktop Pool
In View Manager, add a desktop pool as usual. The only difference from QuickPrep is on the final Guest Customization page:
- Select the Domain. This list (usually just one entry) comes from the domains you defined for View Composer when you configured vCenter in View Administrator. It controls which domain the linked clones join and which credentials are used.
- Select the Active Directory container as normal.
- Choose Use a customization specification (Sysprep) and select the spec you created.

Finish the wizard and the pool will deploy. Provisioning is a bit slower than with QuickPrep because each linked clone needs an extra reboot.
What Happens When View Customizes with Sysprep
- Once the linked clone disks are created, View Manager puts the VM into the Customizing state.
- View Manager calls the vCenter API
customizeVM_Taskto apply the customization specification. - View Manager powers on the linked clone.
- Inside the guest, the View Composer Agent sees it’s starting for the first time and calls
NetJoinDomainwith the machine password cached on the internal disk. - The machine is now joined to the domain.
- Sysprep runs inside the guest.
- The View Composer Agent waits for Sysprep to finish, then tells the View Agent customization is complete, and the View Agent notifies the View Manager server.
- View Manager powers off the clone and snapshots it in its customized state, which becomes the refresh point.
- View Manager marks the linked clone Provisioned. When powered on, it moves to Available.
