I have a base template (which has never been sysprep'd) from which I create linked clones. After the linked clone comes up, I run the following command:
c:\windows\system32\sysprep\sysprep.exe /generalize /oobe /reboot /unattend:c:\windows\panther\unattend.xml
This works fine for the first few linked clones, but after about 3-4 linked clones are running, I start to hit "A fatal error occurred while trying to sysprep the machine."
****c:\windows\panther\setuperr.log****
2013-03-29 16:40:07, Error [0x0f0073] SYSPRP RunExternalDlls:Not running DLLs; either the machine is in an invalid state or we couldn't update the recorded state, dwRet = 32[gle=0x00000020]
2013-03-29 16:40:07, Error [0x0f00a8] SYSPRP WinMain:Hit failure while processing sysprep cleanup providers; hr = 0x80070020[gle=0x00000020]
<?xml version='1.0' encoding='utf-8'?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="oobeSystem">
<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InputLocale>en-US</InputLocale>
<SystemLocale>en-US</SystemLocale>
<UILanguage>en-US</UILanguage>
<UILanguageFallback>en-US</UILanguageFallback>
<UserLocale>en-US</UserLocale>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<AutoLogon>
<Enabled>true</Enabled>
<Username>Administrator</Username>
<Password>
<Value>ca$hc0w</Value>
<PlainText>true</PlainText>
</Password>
</AutoLogon>
<OOBE>
<HideEULAPage>true</HideEULAPage>
<NetworkLocation>Work</NetworkLocation>
<ProtectYourPC>3</ProtectYourPC>
</OOBE>
<UserAccounts>
<AdministratorPassword>
<Value>ca$hc0w</Value>
<PlainText>true</PlainText>
</AdministratorPassword>
</UserAccounts>
<TimeZone>Pacific Standard Time</TimeZone>
</component>
</settings>
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ProductKey>7M67G-PC374-GR742-YH8V4-TCBY3</ProductKey>
<ComputerName>*</ComputerName>
</component>
</settings>
</unattend>
****c:\windows\panther\setupact.log****
2013-03-29 16:40:07, Info [0x0f004e] SYSPRP Initialized SysPrep log at c:\windows\system32\sysprep\Panther
2013-03-29 16:40:07, Info [0x0f0054] SYSPRP ValidateUser:User has required privileges to sysprep machine
2013-03-29 16:40:07, Info [0x0f0056] SYSPRP ValidateVersion:OS version is okay
2013-03-29 16:40:07, Info [0x0f005e] SYSPRP ScreenSaver:Screen saver was already disabled, no need to disable it for sysprep
2013-03-29 16:40:07, Info [0x0f007e] SYSPRP FCreateTagFile:Tag file c:\windows\system32\sysprep\Sysprep_succeeded.tag does not already exist, no need to delete anything
2013-03-29 16:40:07, Info [0x0f005f] SYSPRP ParseCommands:Found supported command line option 'GENERALIZE'
2013-03-29 16:40:07, Info [0x0f005f] SYSPRP ParseCommands:Found supported command line option 'OOBE'
2013-03-29 16:40:07, Info [0x0f005f] SYSPRP ParseCommands:Found supported command line option 'REBOOT'
2013-03-29 16:40:07, Info [0x0f005f] SYSPRP ParseCommands:Found supported command line option 'UNATTEND'
2013-03-29 16:40:07, Info [0x0f004a] SYSPRP WaitThread:Entering spawned waiting thread
2013-03-29 16:40:07, Info [sysprep.exe] UnattendFindAnswerFile: Looking at explicitly provided unattend file [c:\windows\panther\unattend.xml]...
2013-03-29 16:40:07, Info [sysprep.exe] UnattendFindAnswerFile: [c:\windows\panther\unattend.xml] meets criteria for an explicitly provided unattend file.
2013-03-29 16:40:07, Info SYSPRP SysprepSearchForUnattend: Using unattend file at [c:\windows\panther\unattend.xml].
2013-03-29 16:40:07, Info SYSPRP SysprepSearchForUnattend: [generalize] pass in unattend file [c:\windows\panther\unattend.xml] either doesn't exist or passed validation
2013-03-29 16:40:07, Info SYSPRP WinMain:Found unattend file at [c:\windows\panther\unattend.xml]; caching...
2013-03-29 16:40:07, Info SYSPRP WinMain:Processing unattend file's 'generalize' pass...
2013-03-29 16:40:07, Info SYSPRP Sysprep is running a generalize pass with the following unattend file: [%windir%\panther\unattend.xml]
2013-03-29 16:40:07, Info SYSPRP RunUnattendGeneralizePass: Sysprep unattend generalize pass exits; hr = 0x0, hrResult = 0x0, bRebootRequired = 0x0
2013-03-29 16:40:07, Info [0x0f003f] SYSPRP WinMain:Processing 'cleanup' request.
2013-03-29 16:40:07, Error [0x0f0073] SYSPRP RunExternalDlls:Not running DLLs; either the machine is in an invalid state or we couldn't update the recorded state, dwRet = 32[gle=0x00000020]
2013-03-29 16:40:07, Error [0x0f00a8] SYSPRP WinMain:Hit failure while processing sysprep cleanup providers; hr = 0x80070020[gle=0x00000020]
2013-03-29 16:48:52, Info [0x0f004c] SYSPRP WaitThread:Exiting spawned waiting thread
2013-03-29 16:48:52, Info [0x0f0059] SYSPRP ScreenSaver:Screen saver was originally disabled, leaving it disabled
2013-03-29 16:48:52, Info [0x0f0052] SYSPRP Shutting down SysPrep log
2013-03-29 16:48:52, Info [0x0f004d] SYSPRP The time is now 2013-03-29 16:48:52