3.19. Finding the Global Catalog Servers in a Forest

Problem

You want a list of the global catalog servers in a forest.

Solution

Using a graphical user interface

  1. Open LDP and from the menu select Connection Connect.

  2. For Server, enter the name of a DC.

  3. For Port, enter 389.

  4. Click OK.

  5. From the menu select Connection Bind.

  6. Enter credentials of a domain user.

  7. Click OK.

  8. From the menu select Browse Search.

  9. For BaseDN, type the DN of the Sites container (e.g., cn=sites,cn=configuration,dc=rallencorp, dc=com).

  10. For Scope, select Subtree.

  11. For Filter, enter (&(objectcategory=ntdsdsa)(options=1)).

  12. Click Run.

Using a command-line interface

> dsquery server -forest -isgc

Using VBScript

' This code prints the global catalog servers for the specified forest.
' ------ SCRIPT CONFIGURATION ------
strForestName = "<ForestDNSName>" ' e.g. rallencorp.com ' ------ END CONFIGURATION --------- set objRootDSE = GetObject("LDAP://" & strForestName & "/" & "RootDSE") strADsPath = "<LDAP://" & objRootDSE.Get("configurationNamingContext") & ">;" strFilter = "(&(objectcategory=ntdsdsa)(options=1));" strAttrs = "distinguishedname;" strScope = "SubTree" set objConn = CreateObject("ADODB.Connection") objConn.Provider = "ADsDSOObject" objConn.Open "Active Directory Provider" set objRS = objConn.Execute(strADsPath & strFilter & strAttrs & strScope) objRS.MoveFirst while not objRS.EOF set objNTDS = GetObject("LDAP://" & objRS.Fields(0).Value) set objServer = GetObject( objNTDS.Parent ) Wscript.Echo objServer.Get("dNSHostName") ...

Get Active Directory Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.