Recipe 11.15 Listing the Servers
11.15.1 Problem
You want to list the server
objects in the site topology.
11.15.2 Solution
11.15.2.1 Using a graphical user interface
Open LDP. From the menu, select Connection Connect. For Server, enter the name of
a domain controller (or leave blank to do a serverless bind). For Port, enter 389. Click OK. From the menu, select Connection Bind. Enter credentials of a domain user. Click OK. From the menu, select Browse Search. For BaseDN, type the Sites
container's DN (e.g., cn=sites,cn=configuration,dc=rallencorp,dc=com). For Scope, select Subtree. For Filter, enter (objectcategory=server). Click Run.
11.15.2.2 Using a command-line interface
> dsquery server [-site <SiteName>]
11.15.2.3 Using VBScript
' This code lists the server objects in the site topology.
set objRootDSE = GetObject("LDAP://RootDSE")
strBase = "<LDAP://cn=sites," & _
objRootDSE.Get("ConfigurationNamingContext") & ">;"
strFilter = "(objectcategory=server);"
strAttrs = "distinguishedName;"
strScope = "subtree"
set objConn = CreateObject("ADODB.Connection")
objConn.Provider = "ADsDSOObject"
objConn.Open "Active Directory Provider"
set objRS = objConn.Execute(strBase & strFilter & strAttrs & strScope)
objRS.MoveFirst
while Not objRS.EOF
Wscript.Echo objRS.Fields(0).Value
objRS.MoveNext
wend
11.15.3 Discussion
Each Active Directory domain controller is represented in the site
topology by a server object that is associated
with a specific site. Replication decisions are made based on links
from this site to other sites that contain domain controllers.
Other types of services can also add server
objects to the site topology. The way you can distinguish which ones
are domain controllers is the presence of a NTDS
Settings (nTDSDSA) object that is a
child of the server
object. Only domain controllers will have that object.
|