Recipe 11.21 Forcing a Host to a Particular Site

11.21.1 Problem

You want to force a host to be in a particular site.

11.21.2 Solution

11.21.2.1 Using a graphical user interface
  1. Run regedit.exe from the command line or Start Run.

  2. Expand HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services Netlogon Parameters.

  3. Right-click on Parameters and select New String Value.

  4. Enter SiteName for the name.

  5. Double-click on the new value, enter the name of the site under Value data, and click OK.

11.21.2.2 Using a command-line interface
> reg add HKLM\System\CurrentControlSet\Services\Netlogon\Parameters /v SiteName /t[RETURN] 
REG_SZ /d <SiteName>
11.21.2.3 Using VBScript
' This code forces the host the script is run on to use a particular host
' ------ SCRIPT CONFIGURATION ------
strSite = "<SiteName>"   ' e.g. Raleigh
' ------ END CONFIGURATION ---------

strNetlogonReg = "SYSTEM\CurrentControlSet\Services\Netlogon\Parameters"
const HKLM = &H80000002
set objReg = GetObject("winmgmts:root\default:StdRegProv")
objReg.SetStringValue HKLM, strNetlogonReg, "SiteName", strSite
WScript.Echo "Set SiteName to " & strSite

11.21.3 Discussion

You can bypass the part of the DC Locator process that determines a client's site by hard-coding it in the Registry. This is generally not recommended and should primarily be used as a troubleshooting tool. If a client is experiencing authentication delays due to a misconfigured site or subnet object, you can hard-code its site so it temporarily points to a more optimal location (and domain controller).

11.21.4 See Also

Recipe 11.20 for finding the site of a client and MS KB 247811 (How Domain Controllers Are Located in Windows)



    Chapter 3. Domain Controllers, Global Catalogs, and FSMOs
    Chapter 6. Users
    Appendix A. Tool List