In ambienti aziendali grandi e distribuiti geograficamente su molte sedi la struttura di Active Directory diventa molto complessa e contiene diversi servers Domain Controller a cui gli utenti possono collegarsi per autenticarsi sul dominio di rete.
Oggi vediamo come verificare a quale server Domain Controller il nostro client Windows ha fatto il logon e se è la macchina corretta per la nostra sede o se dobbiamo forzare il collegamento su altro server di rete.
Come dicevamo la struttura AD di una grossa azienda può essere molto articolata e contenere diversi DC dislocati in sedi diverse per autenticare gli utenti locali delle diverse sedi.
La verifica più veloce sul nostro client Windows per capire a quale server DC ci siamo autenticati è aprendo il prompt dei comandi :
start -> esegui -> cmd.exe
qui basta digitare :
set log
per avere una risposta simile a :
LOGONSERVER=\\DC01.dominio.local
ciò significa che il nostro client si è autenticato sul server che si chiama DC01.dominio.local , lo stesso risultato possiamo averlo digitando :
echo %logonserver%
in questo caso la risposta sarà qualcosa di simile a :
\\DC01.dominio.local
Un altro comando utile per capire che relazione c’è tra il nostro client e la struttura di Active Directory è nltest che seguendo sempre il nostro esempio avrà una sintassi come questa :
nltest /DSGETDC:dominio.local
la risposta al comando restituirà varie informazioni sul dominio e sul server DC , l’output sarà simile a questo :
Controller di dominio: \\DC01.dominio.local
Indirizzo: \\172.16.1.200
GUID dominio: 313xxxx-yyyy-zzzz-xxxxxxxxxxxxx
Nome dominio: dominio.local
Nome foresta: dominio.local
Nome sito controller di dominio: Default-First-Site-Name
Nome sito interno: Default-First-Site-Name
Contrassegni: PDC GC DS LDAP KDC TIMESERV GTIMESERV WRITABLE DNS_DC DNS_DOMAIN DNS_FOREST CLOSE_SITE FULL_SECRET WS
Ma se il server DC01 non fosse la macchina corretta a cui dobbiamo collegarci perchè magari per la nostra sede è stato definito un altro server locale (es. DC02.dominio.local) su cui dovremmo autenticarci come facciamo a forzare il logon sul server più vicino a noi ?
La prima cosa da fare è verificare che il nome del server su cui vogliamo fare il logon sia risolto correttamente dal DNS locale e che sia raggiungibile, la cosa è facilmente verificabile con un semplice ping dal prompt dei comandi, quindi digitando :
ping DC02.dominio.local
se riceviamo una risposta del tipo :
Impossibile trovare l’host DC02.dominio.local. Verificare che il nome sia corretto e riprovare.
significa che il DNS non risolve correttamente il nome del server, se la risposta invece fosse del tipo :
Host di destinazione non raggiungibile.
significa che il nome del server viene correttamente risolto dal DNS ma che la macchina non è raggiungibile sulla rete locale (potrebbe essere spenta o avere il traffico bloccato dal suo firewall software locale o altri problemi di rete)
se il ping invece dà esito positivo :
Risposta da 172.16.2.200: byte=32 durata=1ms TTL=64
possiamo fare un cambio del server su cui vogliamo fare il logon con il comando :
nltest /SC_RESET:DOMINIO\DC02.dominio.local
se il comando dà esito positivo possiamo rifare un logon al dominio dopo il riavvio di Windows verificando che ora il client si autentichi sul server locale DC02 e non sul DC01 principale remoto, ovviamente la cosa dovrebbe già essere così e questa sarebbe solo una “forzatura”, nel caso il vostro client cerchi sempre di autenticarsi sul DC01 remoto e non su quello locale fate un controllo approfondito della vostra configurazione Active Directory e di rete perchè qualche parametro del dominio (Dns, Dhcp, ecc…) non è configurato in modo corretto.