In tip 7670, I used RepAdmin.exe to script ISGC.bat.

Using DSQUERY, an Active Directory command-line tool, I have scripted another version of ISGC.bat to test if a server is a Global Catalog server.

The syntax for using ISGC.bat is:

call ISGC ServerName GCVar

Where ServerName is the NetBIOS name of the domain controller, and GCVar is a call directed environment variable that will be set to:

X    if the server is not found, or is not a domain controller.
Y    if the domain controller is a Global Catalog server.
N    if the domain controller is NOT a Global Catalog server.

ISGC.bat contains:

@echo off                              if \{%2\}==\{\} @echo Syntax: ISGC ServerName GCVar&exit /b 1                              :: Initialize GCVar to X (NOT Found or NOT a DC).                              set %2=X                              for /f "Tokens=*" %%s in ('dsquery server -domain "%USERDNSDOMAIN%" -name %1') do (                              :: Server is found.                               set %2=N                               for /f "Tokens=*" %%g in ('dsquery server -domain "%USERDNSDOMAIN%" -name %1 -isgc') do (                              :: Server is a Global Catalog Server.                                set %2=Y                               )                              )