locked
Windows 10 SCCM 2012 R2 unattend.xml specialise error on computername. RRS feed

  • Question

  • Hello all

    I am running a Windows 10 ZTI install using SCCM 2012 R2 Sp1 CU3. Image captured using MDT 2013 Update 2.

    Deploying to a Hyper-V 2012 R2 VM.

    Very weird issue. Deployment kicks off fine, past the point of WIM application to the OSD Install phase.

    The machine comes up, and basically at the point of ZTIConfigure, im getting an error in the specialize pass.

     Windows could not parse or process the unattend answer file for pass [specialize]. The settings specified in the answer file cannot be applied. The error was detected while processing settings for component [Microsoft-Windows-Shell-Setup].

    This is from my setuperr.log in unattendgc

    2016-06-11 12:14:48, Error                        [Shell Unattend] ComputerName: failed to set the computer name [hr=0x80070057][gle=0x00000057]
    2016-06-11 12:37:28, Error                        [windeploy.exe] Setup.exe failed, returning exit code [0x1f]
    2016-06-11 12:37:28, Error                        [windeploy.exe] Failure occured during online installation.  Online installation cannot complete at this time.; hr = 0x80004005

    From my Setupact.log  below from unattendgc:

    2016-06-11 12:14:48, Info                         [Shell Unattend] Running 'specialize' pass
    2016-06-11 12:14:48, Info                         [Shell Unattend] ComputerName set to W10P001 
    2016-06-11 12:14:48, Info                         [Shell Unattend] Exiting 'specialize' pass with status 0x002c1000
    2016-06-11 12:14:48, Info                         [Shell Unattend] Running 'specialize' pass
    2016-06-11 12:14:48, Info                         [Shell Unattend] UnattendSetComputerName key found. ComputerName was set by previous unattend action.
    2016-06-11 12:14:48, Error                        [Shell Unattend] ComputerName: failed to set the computer name [hr=0x80070057][gle=0x00000057]
    2016-06-11 12:14:48, Info                         [Shell Unattend] Exiting 'specialize' pass with status 0x80070057
    2016-06-11 12:37:28, Info                         [windeploy.exe] Process exited with exit code [0x1f]
    2016-06-11 12:37:28, Error                        [windeploy.exe] Setup.exe failed, returning exit code [0x1f]
    2016-06-11 12:37:28, Error                        [windeploy.exe] Failure occured during online installation.  Online installation cannot complete at this time.; hr = 0x80004005
    2016-06-11 12:37:28, Info                         [windeploy.exe] Windeploy: Executing OnError commands
    2016-06-11 12:37:28, Info                         [windeploy.exe] Flushing registry to disk...
    2016-06-11 12:37:28, Info                         [windeploy.exe] Flush took 0 ms.
    2016-06-11 12:37:28, Info                         [windeploy.exe] WinDeploy.exe exiting with code [0x80004005]

    Excerpt from my setupact.log from unattend showing architecture.

    2016-06-11 12:13:47, Info       [0x0601c1] IBS    InstallWindows:Install Path = C:\WINDOWS\system32\oobe
    2016-06-11 12:13:47, Info       [0x0601c2] IBS    InstallWindows:Setup Phase = 4
    2016-06-11 12:13:47, Info       [0x0606cc] IBS    LogBootDeviceInfo:The firmware boot device ARC path is [multi(0)disk(0)rdisk(0)partition(2)] and NT path is [\Device\Harddisk0\Partition2].
    2016-06-11 12:13:47, Info       [0x0606cc] IBS    LogBootDeviceInfo:The system boot device ARC path is [multi(0)disk(0)rdisk(0)partition(4)] and NT path is [\Device\Harddisk0\Partition4].
    2016-06-11 12:13:47, Info                         [setup.exe] OrchestrateUpdateImageState: Updating image state from [IMAGE_STATE_GENERALIZE_RESEAL_TO_OOBE] --> [IMAGE_STATE_UNDEPLOYABLE]
    2016-06-11 12:13:47, Info       [0x0601ee] IBS    PrepareSetupForFirstBootPhase:Working directory is [C:\WINDOWS\Panther]; we are starting an installation
    2016-06-11 12:13:47, Info                  IBS    PrepareSetupForFirstBootPhase:Passed drive-letter assignment sanity check.
    2016-06-11 12:13:47, Info       [0x0601cc] IBS    InstallWindows:Performing a new install from first boot phase. Working directory = C:\WINDOWS\Panther
    2016-06-11 12:13:47, Info       [0x0601ce] IBS    Setup has started phase 4 at 2016-06-11 12:13:47
    2016-06-11 12:13:47, Info       [0x0601cf] IBS    Install source is C:\WINDOWS\system32\oobe
    2016-06-11 12:13:47, Info       [0x0601d0] IBS    Build version is 10.0.10586.0 (th2_release.151029-1700)
    2016-06-11 12:13:47, Info       [0x064042] IBSLIB CreateSetupBlackboard:Creating new blackboard path is [C:\WINDOWS\Panther\SetupInfo] Setup phase is [4]
    2016-06-11 12:13:47, Info       [0x090008] PANTHR CBlackboard::Open: C:\WINDOWS\Panther\SetupInfo succeeded.
    2016-06-11 12:13:47, Info       [0x064043] IBSLIB CreateSetupBlackboard:Successfully created/opened Setup black board path is [C:\WINDOWS\Panther\SetupInfo]
    2016-06-11 12:13:47, Info                  IBS    InstallWindows:No UI language from a previous boot was found on the blackboard. Using selected language [].
    2016-06-11 12:13:47, Info                  IBS    InstallWindows:Setup architecture is [x64]
    2016-06-11 12:13:47, Info       [0x0601d5] IBS    InstallWindows:Starting with Empty Queue. Setup Phase = 4


    My Unattend.xml excerpt is below. I have taken this from the failed build. Notice that the computername below under the am64 section is specialize is set correctly. However the build fails. The following x86 computername field highlighted is currently blank when the build fails. But if I edit the x86 field slightly furher down in specialize as highlighted  (before the install phase starts via f8 command prompt), the build succeeds.

    Why would it parse the x86 section as well for a computer name? I am using a standard MDT install, Windows 10 64bit install. And if it parses it anyway, why is it failing as it has already populated the AMD64 section. 

    The OSDCOmputername is retrieved from SCCM in a pre imported object in a build collection.

    <component name="Microsoft-Windows-Shell-Setup" language="neutral" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <ComputerName>W10P001</ComputerName>
    </component>
    <component name="Microsoft-Windows-Deployment" language="neutral" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <RunSynchronous>
    <RunSynchronousCommand><Order>1</Order>
    <Description>disable user account page</Description>
    <Path>reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\OOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f</Path>
    </RunSynchronousCommand>
    </RunSynchronous>
    </component>
    <component name="Microsoft-Windows-UnattendedJoin" language="neutral" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Identification>
    <Credentials>
    <Username>*DELETED*</Username>
    <Domain>*DELETED*</Domain>
    <Password>*DELETED*</Password>
    </Credentials>
    <MachineObjectOU>*DELETED*</MachineObjectOU>
    <JoinDomain>*DELETED*</JoinDomain>
    </Identification>
    </component>
    <component name="Microsoft-Windows-Shell-Setup" language="neutral" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <DoNotCleanTaskBar>true</DoNotCleanTaskBar>
    <RegisteredOrganization>
    </RegisteredOrganization>
    <ComputerName>
    </ComputerName>
    <RegisteredOwner>
    </RegisteredOwner>
    </component>


    Any help appreciated, really don't understand why its doing this - could it be something with using Hyper-V?

    Thanks

    Ian

    Saturday, June 11, 2016 12:24 PM

All replies

  • I hard coded the %OSDComputer% variable into the x86 section of my unattend.xml in my MDT settings source.

    This corrected it. Interestingly after intercepting the specialize pass again at build, it removed the x86 section completely. But only after I had hardcoded the variable.

    I'll look at ZTIconfig see if there is some dodgy logic in there - I can see it populates this if the OS is 5xxx (2003 / XP). Might add some more code to test with Windows 10.

    For some reason Windows MDT 2013 Update 2 isn't processing and populating this correctly (I think

    Cheers

    Ian




    Thursday, June 16, 2016 10:35 AM