Ghost Solution Suite

  • 1.  Using SetupComplete.cmd causes "Failed to Join Domain: Logon Failure:"

    Posted Jun 09, 2010 09:50 AM
    I have a Windows 7 (64bit) image syspreped and captured with ghost console. In the image I have a setupcomplete.cmd file in %windir%\setup\scripts\ which executes at the end of sysprep to force a windows authorization, cleanup files, and join domain (for times when I image from a CD). However, when I reimage a machine using console with this file in place, I receive a "Failed to Join xxxxxxxxx Domain: Logon failure: unknown user name or bad password."

    This only happens when the setupcomplete file is in place. What could be causing this?
    Below is the setupcomplete.cmd and sysprep answer file:

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    SETUPCOMPLETE.CMD

    C:\Windows\System32\cscript.exe "C:\windows\system32\sysprep\cleanup\join_domain.vbs"

    C:\Windows\System32\cscript.exe C:\Windows\System32\Slmgr.vbs /ato

    echo y | del C:\windows\system32\sysprep\cleanup\*.*

    echo y | del C:\windows\system32\sysprep\sysprep.xml

    %windir%\system32\shutdown.exe -r -t 120

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    JOINDOMAIN.VBS

    ' Joining a computer to a domain
    ' ==============================

    ' Disable Security Warning
    set oShell= CreateObject("Wscript.Shell")
    set oEnv = oShell.Environment("PROCESS")
    oEnv("SEE_MASK_NOZONECHECKS") = 1

    Const JOIN_DOMAIN             = 1
    Const ACCT_CREATE             = 2
    Const ACCT_DELETE             = 4
    Const WIN9X_UPGRADE           = 16
    Const DOMAIN_JOIN_IF_JOINED   = 32
    Const JOIN_UNSECURE           = 64
    Const MACHINE_PASSWORD_PASSED = 128
    Const DEFERRED_SPN_SET        = 256
    Const INSTALL_INVOCATION      = 262144
     
    strDomain   = "xxxxxxxxx"
    strPassword = "xxxxxxxxxxx"
    strUser     = "xxxxxxxxxxxx"
     
    Set objNetwork = CreateObject("WScript.Network")
    strComputer = objNetwork.ComputerName
     
    Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
        strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
            strComputer & "'")
     
    ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _
                                                    strPassword, _
                                                    strDomain & "\" & strUser, _
                                                    NULL, _
                                                    JOIN_DOMAIN + ACCT_CREATE)
    ' Return Security Warning
    oEnv.Remove("SEE_MASK_NOZONECHECKS")

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    SYSPREP.XML

    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
        <settings pass="generalize">
            <component name="Microsoft-Windows-Security-SPP" 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">
                <SkipRearm>1</SkipRearm>
            </component>
        </settings>
        <settings pass="specialize">
            <component name="Microsoft-Windows-Deployment" 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">
                <RunSynchronous>
                    <RunSynchronousCommand wcm:action="add">
                        <Path>net user administrator /active:yes</Path>
                        <Order>1</Order>
                    </RunSynchronousCommand>
                </RunSynchronous>
            </component>
            <component name="Microsoft-Windows-Security-SPP-UX" 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">
                <SkipAutoActivation>false</SkipAutoActivation>
            </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">
                <CopyProfile>true</CopyProfile>
                <ShowWindowsLive>false</ShowWindowsLive>
                <TimeZone>Central Standard Time</TimeZone>
                <ProductKey>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</ProductKey>
                <AutoLogon>
                    <Password>
                        <Value>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=</Value>
                        <PlainText>false</PlainText>
                    </Password>
                    <Enabled>true</Enabled>
                    <LogonCount>1</LogonCount>
                    <Username>administrator</Username>
                </AutoLogon>
            </component>
        </settings>
        <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>
                <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">
                <OOBE>
                    <HideEULAPage>true</HideEULAPage>
                    <NetworkLocation>Work</NetworkLocation>
                    <ProtectYourPC>3</ProtectYourPC>
                </OOBE>
                <UserAccounts>
                    <AdministratorPassword>
                        <Value>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==</Value>
                        <PlainText>false</PlainText>
                    </AdministratorPassword>
                    <LocalAccounts>
                        <LocalAccount wcm:action="add">
                            <Password>
                                <Value>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=</Value>
                                <PlainText>false</PlainText>
                            </Password>
                            <Description>Local Administrator</Description>
                            <DisplayName>Administrator</DisplayName>
                            <Group>Administrators</Group>
                            <Name>Administrator</Name>
                        </LocalAccount>
                    </LocalAccounts>
                </UserAccounts>
                <RegisteredOrganization>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</RegisteredOrganization>
                <RegisteredOwner>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</RegisteredOwner>
                <Display>
                    <HorizontalResolution>1280</HorizontalResolution>
                    <VerticalResolution>1024</VerticalResolution>
                    <ColorDepth>32</ColorDepth>
                </Display>
                <FirstLogonCommands>
                    <SynchronousCommand wcm:action="add">
                        <CommandLine>C:\windows\system32\sysprep\cleanup\cleanup.bat</CommandLine>
                        <Description>Join Domain Script</Description>
                        <RequiresUserInput>false</RequiresUserInput>
                        <Order>1</Order>
                    </SynchronousCommand>
                    <SynchronousCommand wcm:action="add">
                        <Order>2</Order>
                        <CommandLine>net user User /delete</CommandLine>
                        <Description>Delete &apos;user&apos; account </Description>
                        <RequiresUserInput>false</RequiresUserInput>
                    </SynchronousCommand>
                </FirstLogonCommands>
            </component>
        </settings>
        <cpi:offlineImage cpi:source="catalog:D:/sources/install_windows 7 enterprise.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
    </unattend>






  • 2.  RE: Using SetupComplete.cmd causes "Failed to Join Domain: Logon Failure:"

    Posted Jun 09, 2010 11:15 AM
    Brad,

    This would be better addressed in Microsoft's forums, since this is a Sysprep issue. While there are definitely going to be those in here that are pretty familiar with Sysprep, I believe that you'll have better luck over there, if you don't find the help you need here. Good luck!

    Thank you,

    Randy


  • 3.  RE: Using SetupComplete.cmd causes "Failed to Join Domain: Logon Failure:"

    Posted Jun 09, 2010 11:32 AM

    Why is this a sysprep issue? It is a Ghost Configuration issue. In Ghost if the configuration is set to join to the domain it fails.


  • 4.  RE: Using SetupComplete.cmd causes "Failed to Join Domain: Logon Failure:"

    Posted Jun 10, 2010 10:41 AM
    Brad,

    To quote you, "In the image I have a setupcomplete.cmd file in %windir%\setup\scripts\ which executes at the end of sysprep to force a windows authorization, cleanup files, and join domain (for times when I image from a CD)."

    SetupComplete.cmd is Microsoft utility being executed by another Microsoft utility. If you also have the Ghost Console trying to apply a configuration, as well, then the issue would be that two processes are trying to perform the same action and failing because of that. 

    Thank you,

    Randy




  • 5.  RE: Using SetupComplete.cmd causes "Failed to Join Domain: Logon Failure:"

    Posted Aug 05, 2010 03:10 PM
    Are you using GHOST to configure the workstation and join the Domain?