You want to list the server objects in the site topology.
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.
From the menu, select Connection Bind.
Enter credentials of a domain user.
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).
> dsquery server [-site <SiteName>]
' 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
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.