Setting DeployRoot value from WDS Server

By arwidmark / May 5, 2007

Note: This issue/configuration has been fixed in BDD 2007 Update 1  and MDT 2008…. still here for those of you still running BDD 2007 RTM. 

When using WDS Server to PXE boot the Lite Touch WinPE 2.0 image, you can use a function to to set the DeployRoot value to the WDS Server you booted from. This could be very useful for Branch Office Scenarios.

BDD 2007 Lite Touch has a variable for this called WDSServer, however it is only set if you run “wpeutil updatebootinfo” first

Method 1: Via Unattend.xml

Update unattend.xml on the Lite Touch WinPE image to start wpeutil and then set Deployroot=\\%WDSServer%\Distribution$ in bootstrap.ini.

Bootstrap.ini
[Default] DeployRoot=\\%WDSServer%\Distribution$

Unattend.xml



   
        http://schemas.microsoft.com/WMIConfig/2002/State“>
           
                16
                1024
                60
                768
           

           
               
                    WPEUtil
                    1
                    wpeutil updatebootinfo
               

               
                    Lite Touch PE
                    2
                    wscript.exe X:\Deploy\Scripts\LiteTouch.wsf
               

           

            Restart
       

   


    
          
   
Method 2: Via UserExit (thanks to Volker Neumann for provding the code)

Using a userexit to call wpeutil

Bootstrap.ini
[Default] UserExit=UserExit.vbs
DeployRoot=\\#GetWDSServerName#\Distribution$

UserExit.vbs
Function UserExit(sType, sWhen, sDetail, bSkip)
                oLogging.CreateEntry “entered UserExit “, LogTypeInfo
                UserExit = Success
End Function

Function GetWDSServerName
                oLogging.CreateEntry “Entered UserExit Function ‘GetWDSServerName'”, LogTypeInfo
               
                on error resume next
                oShell.run “wpeutil updatebootinfo”, 1, true

                sWDSServerName = oShell.RegRead(“HKLM\System\CurrentControlSet\Control\PEBootServerName”)
                sWDSServerName = Left(sWDSServerName, InStr(sWDSServerName ,”.”)-1)

                oLogging.CreateEntry “WDSServerName = ” & sWDSServerName, LogTypeInfo
                oLogging.CreateEntry “Exiting UserExit Function ‘GetWDSServerName'”, LogTypeInfo

                GetWDSServerName = sWDSServerName
End Function

About the author

arwidmark

Poulin - March 30, 2009

Hi Johan.
I have a funny thing regarding the distribution share. First I had a Win 2003 server with WDS and MDT called lets say SERVER1 with distribution share \SERVER1Distribution$. I then installed af Server 2008 with WDS and MDT to replace SERVER1. Distribution share on the new server is \SERVER2Distribution$. When SERVER1 is turned off the clients cannot get the images. When WPEINIT starts it says that it cannot find \SERVER1Distribution$.

Do you know what to do?

Regards
Niels

Comments are closed