1

We use WDS images combined with GPOs to automate the installation of our desktops.

This all works great, except that when a WDS deployment to a new/existing PC is completed, there's a fifty/fifty chance of the GPOs applying on first boot.

That unfortunately means that following a refresh of our development environment, someone has to check the machines and initiate a reboot / GPUpdate for around 15-20 PCs.

Machines are either pre-staged or have existing computer accounts in AD because they are re-imaged rather than new.

Just wondering if anyone has experienced similar problems with GPOs not applying following a WDS installation? At the moment we're considering hacking a script into the image so that workstations are automatically rebooted following a WDS installation, but that feels more like a work around rather than dealing with the problem's root cause.

Thanks

4
  • Are all GPOs not applied, or some of them?
    – strongline
    Jun 10, 2015 at 14:07
  • Also if you let the computer sit, after thirty minutes (default GPO refresh time) doesn't the computer automatically update the GPO? Jun 10, 2015 at 16:19
  • No GPOs are applied, period. Jun 11, 2015 at 8:52
  • 1
    Done some digging and found the issue seems related to setting the timezone to "GMT Standard Time". If we don't set the timezone at all in unattend.xml and the PC's hardware clock happens to be correct, then the image is applied to the machine, it is joined to the domain and the GPOs apply. If we set the timezone to "GMT Standard Time", the WDS install seems to assume that the hardware clock is in PST (GMT -8) and thus adds 8 hours to it. It remains in this incorrect state until the NTP sync happens but this is after the GP processing has failed. Jun 11, 2015 at 9:01

1 Answer 1

0

We have resolved the problem in rather a hacky way by adding the following to the specialize section of the unattend.xml used with the WDS image:

<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">
        <ComputerName>%MACHINENAME%</ComputerName>
        <TimeZone>GMT Standard Time</TimeZone>
    </component>

    <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-GB</InputLocale>
        <SystemLocale>en-GB</SystemLocale>
        <UILanguage>en-GB</UILanguage>
        <UserLocale>en-GB</UserLocale>
    </component>

    <component name="Microsoft-Windows-UnattendedJoin" 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">
        <Identification>
            <Credentials>
                <Domain>$domain</Domain>
                <Password>$password</Password>
                <Username>$username</Username>
            </Credentials>
            <UnsecureJoin>true</UnsecureJoin>
        </Identification>
    </component>

    <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">
                <Description>Force Time Resync</Description>
                <Order>1</Order>
                <Path>cmd /c w32tm /resync</Path>
            </RunSynchronousCommand>
            <RunSynchronousCommand wcm:action="add">
                <Description>Force GPUpdate</Description>
                <Order>2</Order>
                <Path>cmd /c gpupdate /force /boot /sync</Path>
            </RunSynchronousCommand>
            <RunSynchronousCommand wcm:action="add">
                <Description>Reboot</Description>
                <Order>3</Order>
                <Path>cmd /c reboot -r -t 1</Path>
            </RunSynchronousCommand>
        </RunSynchronous>
    </component>
</settings>

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .