Welcome to the community forums for Theopenem. All responses are provided by other users that wish to help out. Theopenem will not respond to these posts. If you require more assistance than what the community can provide, we offer various paid support options.


  • Hi,
    I created base image based on tutorial Universal image.
    Once client deploy image from server I faced some troubles with client toec connection. All was caused by client machine time. Since we are using our time server and others are firewalled I must set our in universal image and refresh time after deploy.

    My question is about timing of two files creation and deletion during init phase:

    1. Who and when are following files created:
    2. When they are deleted and by which process?
      setupcompletecmd_complete
      image_prepped

    My concern is: if Toem server policy for join domain will be checking presence of this file after some process delete it it won't be triggered to run and join domain.

    Thank you,
    Tomas


  • Sorry - this post should be in support thread.


  • setupcompletecmd_complete

    Is created immediately after sysprep finishes applying the unattended setup on first boot after it images.

    image_prepped

    Is created just before sysprep runs when creating the image before it shuts down.

    They are both deleted when the cleanup policy runs that is attached to the Built-In Image First Run group.

    If it never joins the domain, the cleanup should never run, but it depends on how you setup your policy. If the time is incorrect, I would just add the following cmd to your setup complete cmd. Just add it before the net start toec command.

    w32tm /config /manualpeerlist:yourtimeserver
    net stop w32time
    net start w32time


  • @theopenem_admin Thank you for explanation.
    Finally, I put that time server settings into unatended.xml file for sysprep. That works for me just fine.
    For info how to call cmd script from sysprep:

    <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">
                        <Order>1</Order>
                        <Path>c:\Windows\system32\cmd.exe /c c:\intel\synctime.cmd</Path>
                    </RunSynchronousCommand>
                </RunSynchronous>
            </component>
        </settings>
    

    Tomas


  • @theopenem_admin - I made many of reinstallation and tests, but the file "setupcompletecmd_complete" is never created on my machines. (image_prepped is present after imaging).

    So, if I do "domain join" policy with condition on "setupcompletecmd_complete" policies are not started

    • if I login under admin I don't see that file (policies never run and sysprep looks finished)

    and in opposite if I do test on "image_prepped" computer is joined to domain, and other following policies apply (include collect inventory), and finally "Image Prep Cleanup"

    • so hard to say if "setupcompletecmd_complete" is present

    Other observation is: file c:\Windows\System32\Sysprep\Sysprep_succeeded.tag was created.

    Tomas


  • What's in your setup complete template?


  • @theopenem_admin it's default (Toec Image Prep without server access because time server is not setup yet, but during sysprep later):

    mkdir "%ProgramFiles%\Toec"
    net stop toec /y >> "%ProgramFiles%\Toec\setupcomplete.log"
    powercfg.exe /h off >> "%ProgramFiles%\Toec\setupcomplete.log"
    copy NUL "%ProgramFiles%\Toec\setupcompletecmd_complete" >> "%ProgramFiles%\Toec\setupcomplete.log"
    del /Q /F c:\windows\system32\sysprep\unattend.xml >> "%ProgramFiles%\Toec\setupcomplete.log" 
    del /Q /F c:\windows\panther\unattend.xml >> "%ProgramFiles%\Toec\setupcomplete.log"
    
    REM ####### Driver install ###########
    PowerShell ^
    $Drivers = Get-ChildItem "C:\drivers" -Recurse -Filter "*.inf" ;^
    ForEach($Driver in $Drivers) {;^
    $args = \"/add-driver $($Driver.FullName) /install \";^
    $p = (Start-Process -FilePath pnputil.exe -ArgumentList $args -NoNewWindow -Passthru);^
    Wait-Process -Id $p.Id -Timeout 10 >> "%ProgramFiles%\Toec\setupcomplete.log";^
    };^
    %End PowerShell%
    
    net start toec /y
    
    

    Tomas


  • @tomas-hook Just to be clear - I run "Toec Image Prep" without server connection. Simillar to older version when this feature was not present.


  • It should be created from this line.

    copy NUL "%ProgramFiles%\Toec\setupcompletecmd_complete"

    I wonder if your setupcomplete.cmd isn't running for some reason. After you deploy the image, does the file exist at C:\Windows\Setup\scripts


  • @theopenem_admin said in creating base image:

    After you deploy the image, does the file exist at C:\Windows\Setup\scripts

    Well, I was not sure either, because:

    • I never saw "%Program Files%\Toec\setupcomplete.log" file.
    • c:\windows\panter\unattend.xml exists.
    • c:\windows\system32\sysprep\unattend.xml exists.

    File "c:\windows\setup\scripts\setupcomplete" exists on my deployed machine.


  • It sounds like it's not running then, but I'm not sure why. Windows should run that file automatically if it exists in that location. I've never seen it not run.



  • Hmm, I never knew that setup complete would not run with an OEM license. I guess you would just need to change your policies a little to work with your setup.