Es ist gar nicht so einfach, alle Domänencontroller (DC) aufzulisten, die gleichzeitig auch Global Catalog Server (GC) sind. Allerdings gibt es gleich mehrere Möglichkeiten, die je nach Situation genutzt werden können. Einerseits erlaubt das AD-Doku-Werkzeug José im jüngsten Release, die DC-Sonderfunktionen anzuzeigen. Da José aber auf umfassende Dokumentationen ausgelegt ist, zeigt er immer alle Computerkonten an (oder gar keine), sodass je nach Aufgabenstellung viel zu viel ausgegeben wird. Eine zweite Möglichkeit nutzt DNS und die Tatsache, dass alle GCs einer Domäne sich mit ihrer IP-Adresse in dem DNS-Eintrag "gc" verewigen. Das folgende Kommando in einem CMD-Fenster zeigt also die gewünschten Server an:
nslookup gc._msdcs.%userdnsdomain%
Leider gibt dies aber nur die IP-Adressen und nicht die Servernamen aus. Die wohl pfiffigste Methode hat der amerikanische MVP Jerold Schulman vorgestellt.
Jerold hat in einem Newsgroup-Posting und in Tipp 10658 seiner hervorragenden FAQ ein Batch gelistet, das alle Global Catalog Server der gerade genutzten Domäne mit ihrem Namen anzeigt. Voraussetzung ist dafür, dass die Support Tools installiert sind (genau genommen sind nur repadmin.exe und netdom.exe nötig). Den folgenden Code speichert man unter dem Namen ListGC.bat und führt ihn per Doppelklick (bzw. besser: in einem CMD-Fenster) aus.
@echo off
setlocal
set get=netdom QUERY /DOMAIN:%USERDNSDOMAIN% DC
set no=The command completed successfully.
for /f "Skip=1 Tokens=*" %%a in ('%get%ˆ|find /V "%no%"') do (
call :isgc %%a
)
endlocal
goto :EOF
:isgc
set GC=N
for /f "Tokens=*" %%g in ('repadmin /showreps %1 ˆ|findstr /l /i /C:"DC Options: IS_GC"') do (
set GC=Y
)
if "%GC%" EQU "Y" @echo %1
http://faq-o-matic.net/?p=619