Se il join al dominio di un server Windows Server 2022 fallisce all’istante e nei log trovi gli eventi “No mapping between account names and security IDs was done” e “Cannot complete the function”, questa guida pratica ti accompagna passo‑passo dalla diagnosi alla soluzione definitiva.
Panoramica del problema
Durante il tentativo di aggiungere il computer AZxxx
al dominio xxx.LOCAL
, l’operazione si interrompe immediatamente. In Event Viewer → Windows Logs compaiono:
- Evento 1332 – No mapping between account names and security IDs was done.
- Evento 1003 – Cannot complete the function.
Quasi sempre il secondo è una conseguenza del primo: un prerequisito per l’autenticazione e la creazione del canale protetto non è soddisfatto. Le cause più comuni riguardano connettività, DNS, account computer e sincronizzazione oraria.
Segnali da osservare
- Il comando grafico di join mostra l’errore subito dopo l’inserimento delle credenziali.
- Nel file
%SystemRoot%\Debug\NetSetup.log
compaiono indicazioni su DNS, Kerberos o diritti insufficienti. nltest /dsgetdc:xxx.local
non restituisce un controller di dominio o riporta un DC inatteso.- I record SRV del dominio non risolvono oppure puntano a host non raggiungibili.
Cause frequenti e soluzioni rapide
La tabella seguente riassume le aree critiche da controllare, come verificarle e come rimediare in modo efficace.
Area | Possibile causa | Verifica e rimedio | Comandi rapidi |
---|---|---|---|
Connettività | Porte RPC, Kerberos o LDAP bloccate; DC irraggiungibile | Testa raggiungibilità IP e porte; verifica ACL su firewall locali e di rete; consenti anche il range RPC dinamico. | ping <DC> Test-NetConnection <DC> -Port 389 PortQry -n <DC> -e 88 |
DNS | FQDN del DC non risolto o record SRV mancanti | Usa l’IP del DC come unico DNS sul server; svuota la cache; verifica SRV nel namespace _msdcs . | ipconfig /all ipconfig /flushdns Resolve-DnsName -Type SRV ldap.tcp.dc._msdcs.xxx.local |
Account computer | Oggetto già presente, disabilitato o con SID incoerente | Elimina o ricrea l’oggetto in Active Directory Users and Computers; in alternativa pre‑crealo nella OU corretta. | # lato DC dsa.msc lato server (join verbose) netdom join AZxxx /domain:xxx.local /userd:xxx\Administrator /passwordd:* |
Sincronizzazione oraria | Scarto superiore a pochi minuti tra server e DC | Allinea l’orario prima del join; imposta NTP affidabile; verifica stato del servizio tempo. | w32tm /query /status w32tm /resync |
Credenziali e permessi | Account senza diritti di join o credenziali errate | Usa un account con diritto “Join computers to the domain” o domain\Administrator ; controlla UAC ed elevazione. | whoami /groups verifica appartenenze e privilegi effettivi |
Firewall e antivirus | Regole che bloccano traffico AD o ispezioni che rompono RPC | Prova in deroga temporanea; configura eccezioni per SMB, LDAP, Kerberos, Netlogon e RPC dinamico. | # verifica profilo attivo Get-NetFirewallProfile |
Stato del controller | Servizi AD o DNS in errore, replica compromessa | Esegui diagnostica dal DC e risolvi i fault prima di nuovi tentativi di join. | dcdiag /v repadmin /replsummary |
Procedura consigliata
- Verifica di rete
Test-NetConnection <DC_FQDN> -Port 445 # SMB Test-NetConnection <DC_IP> -Port 389 # LDAP nltest /dsgetdc:xxx.local # discovery DC
Se una di queste prove fallisce, correggi la connettività prima di proseguire. - Controllo DNS lato client
- Imposta un solo DNS: l’indirizzo del DC.
- Conferma la risoluzione dei record SRV del dominio.
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses <DC_IP> ipconfig /flushdns Resolve-DnsName -Type SRV ldap.tcp.dc._msdcs.xxx.local
- Allineamento dell’orario
w32tm /resync w32tm /query /status
Se lo scarto persiste, imposta una sorgente NTP e forza la risincronizzazione. - Bonifica dell’account computer In Active Directory Users and Computers verifica se esiste un oggetto per
AZxxx
. Se presente ma sospetto, eliminalo o disabilitalo e ricrealo nella OU desiderata. Eviti così conflitti di SID o di password macchina. - Join con tracciamento esteso
netdom join AZxxx /domain:xxx.local /userd:xxx\Administrator /passwordd:*
Questo comando restituisce messaggi più leggibili e registra dettagli inNetSetup.log
. - Analisi se l’errore persiste
- Raccogli
%SystemRoot%\Debug\NetSetup.log
per individuare la fase in cui avviene il fallimento. - Controlla in Event Viewer gli Event ID 5722 e 5719 nella categoria System, tipici di problemi nel canale sicuro Netlogon.
- Esegui sul DC:
dcdiag /v
,repadmin /replsummary
e correggi eventuali anomalie di replica o DNS.
- Raccogli
Dettagli tecnici utili
Significato operativo del messaggio sui SID
Il messaggio che menziona la mancata correlazione tra nomi account e SID indica che il DC non riesce a mappare l’account computer o l’utente che esegue il join in un identificatore di sicurezza valido. Esempi tipici:
- L’oggetto computer esiste ma con metadati incoerenti.
- Il join avviene verso un DC sbagliato (record DNS errato) che non ha replica aggiornata.
- Il controller non può contattare il catalogo globale.
Perché spesso segue l’errore generico
Una volta che la mappatura fallisce, le successive chiamate RPC o Kerberos falliscono a catena, generando il messaggio generico di funzione non completata. Per questo è cruciale risolvere la prima anomalia rilevata nel log.
Verifiche approfondite
Portate e servizi indispensabili
Assicurati che tra il server e i DC siano consentiti i protocolli e le porte fondamentali:
Servizio | Porta | Note |
---|---|---|
Kerberos | TCP/UDP 88 | Autenticazione; sensibile al clock skew. |
LDAP | TCP/UDP 389 | Query e bind; spesso il primo test da fare. |
LDAP su TLS | TCP 636 | Se richiesto da criteri di sicurezza. |
Global Catalog | TCP 3268/3269 | Ricerca forestale; fondamentale in ambienti multi‑dominio. |
Netlogon e RPC Endpoint Mapper | TCP 135 | Necessario per negoziare RPC. |
SMB | TCP 445 | Accesso a condivisioni e SYSVOL. |
RPC dinamico | TCP 49152–65535 | Range tipico su sistemi moderni; aprire tra client e DC. |
Configurazione DNS lato server
Errore classico: la scheda di rete punta a un DNS pubblico o di terze parti. Il server da unire al dominio deve interrogare solo il DNS integrato in Active Directory. Imposta l’IP del DC come unico resolver e verifica il suffisso primario del computer combaci con il dominio.
Record SRV nel namespace
La presenza di ldap.tcp.dc._msdcs.xxx.local
è essenziale. In assenza, il server non scopre il DC e il join fallisce. Se mancano, analizza il servizio DNS sul DC, verifica la registrazione dinamica e la replica di zona.
Orario e sicurezza
Kerberos rifiuta ticket con scarti temporali eccessivi. Prima del join, controlla origini NTP, stato del servizio ora e time zone. In ambienti virtualizzati, evita pause prolungate della VM che possono introdurre skew.
Credenziali adeguate
Per impostazione predefinita, gli utenti autenticati possono aggiungere un numero limitato di computer al dominio, ma spesso gli ambienti aziendali restringono questo permesso. Preferisci un account delegato esplicitamente con il diritto Join computers to the domain o un account amministrativo del dominio. Avvia sempre il prompt in modalità elevata.
Sequenza operativa consigliata
- Rete: assicurati che il percorso L3 tra il server e il DC sia privo di filtri involontari e che non vi siano NAT asimmetrici.
- DNS locale: imposta esclusivamente il DNS del dominio e pulisci la cache.
- Verifica scoperta DC: usa
nltest /dsgetdc:xxx.local
per controllare sito AD, DC restituito e flag GC. - Allinea tempo: sincronizza e valida con
w32tm /query /status
. - Controlla l’oggetto computer: rimuovi oggetti errati, pre‑crea nella OU corretta se necessario.
- Esegui join verboso: usa
netdom
e analizza l’output. - Se errore persiste: raccogli
NetSetup.log
, verifica eventi sistema 5719/5722 e diagnostica lato DC condcdiag
.
Analisi del file di log
C:\Windows\Debug\NetSetup.log
racconta l’intera storia del join, fase per fase:
- Ricerca DNS: errori su SRV o host sconosciuto indicano problema di risoluzione.
- Bind LDAP: codici di errore in questa sezione rimandano a LDAP o a credenziali.
- Creazione account: qui emergono conflitti con l’oggetto computer.
- Stabilire il canale sicuro: fallimenti qui puntano a Netlogon, Kerberos o tempo.
Checklist rapida
- La scheda di rete usa solo il DNS del dominio.
Resolve-DnsName -Type SRV ldap.tcp.dc._msdcs.xxx.local
restituisce almeno un record valido.Test-NetConnection <DC> -Port 88,135,389,445,3268
è positivo.w32tm /resync
completa senza errori.- L’oggetto computer non esiste o è stato appena creato nella OU corretta.
- Usi un account con permesso di aggiunta al dominio, prompt elevato.
Casi particolari
Ambienti con firewall a stato
Apri il range RPC dinamico verso i DC (tipicamente TCP 49152–65535
) o limita il range e configura regole corrispondenti. Assicurati che l’ispezione applicativa non alteri la negoziazione RPC.
Template e cloni
Se il server deriva da un template, assicurati che sia stato eseguito sysprep /generalize
; evita SID duplicati o resti di precedente appartenenza a dominio.
Catalogo globale assente
In foreste con più domini, l’assenza di un Global Catalog raggiungibile può impedire la risoluzione di oggetti necessari al join. Verifica che almeno un DC con ruolo GC sia accessibile.
Requisiti di firma e canale sicuro
Se criteri richiedono LDAP signing o channel binding, assicurati che il server supporti e negozi correttamente TLS. In caso di dubbi, prova temporaneamente su una VLAN di test con criteri meno restrittivi per isolare il problema.
Esempio di flusso diagnostico
# uno: DNS corretto e pulizia cache
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 10.0.0.10
ipconfig /flushdns
due: scoperta controller
nltest /dsgetdc:xxx.local
tre: test porte essenziali
88, 135, 389, 445, 3268 | ForEach-Object { Test-NetConnection dc01.xxx.local -Port $_ }
quattro: tempo allineato
w32tm /resync
cinque: join con output esplicito
netdom join AZxxx /domain:xxx.local /userd:xxx\Administrator /passwordd:*
Domande frequenti
Serve riavviare prima del join? Non obbligatorio, ma consigliato dopo modifiche a DNS, firewall o tempo.
Meglio interfaccia grafica o riga di comando? Usa la riga di comando per ottenere messaggi più chiari e log più utili.
Posso unire usando un DC remoto attraverso VPN? Sì, se la VPN consente tutte le porte richieste e la latenza è ragionevole.
Come capisco se il problema è sul DC? Se altri client falliscono allo stesso modo e dcdiag
riporta errori, concentra la diagnosi sul controller.
Riepilogo operativo
Gli errori osservati durante il join di un server al dominio, con messaggi su mapping dei SID e funzione non completata, dipendono tipicamente da DNS non autoritativo, connettività bloccata, differenze temporali o incongruenze sull’account computer. Con la checklist proposta — controlli di rete e DNS, verifica del tempo, bonifica dell’oggetto computer, join in modalità verbosa e analisi di NetSetup.log
— si risolvono la maggior parte dei casi in tempi rapidi e con un approccio ripetibile.
Procedura di riferimento pronta all’uso
- Imposta l’IP del DC come unico DNS sul server.
- Conferma i record SRV del dominio nel namespace
_msdcs
. - Verifica connettività su Kerberos, LDAP, SMB, RPC.
- Sincronizza l’orario e verifica lo stato del servizio tempo.
- Elimina o pre‑crea l’account computer in AD nella OU corretta.
- Esegui il join con
netdom
per ottenere output chiaro. - Se fallisce, analizza
NetSetup.log
e gli eventi sistema 5719/5722; eseguidcdiag
e correggi guasti lato DC.
Note finali e buone pratiche
- Evita DNS multipli o pubblici sulle interfacce dei server di dominio: causa più del 50% dei casi.
- Documenta le regole firewall aperte tra segmenti server e DC e versionale le modifiche.
- Standardizza la procedura di creazione e join dei server, specie se usi template o pipeline di provisioning.
- In ambienti con criteri di sicurezza avanzati, testa la compatibilità di TLS, firma LDAP e canale sicuro.
Appendice operativa
Comandi utili da tenere a portata di mano
# test DNS e SRV
Resolve-DnsName -Type SRV kerberos.tcp.dc._msdcs.xxx.local
Resolve-DnsName -Type SRV ldap.tcp.dc._msdcs.xxx.local
verifica membership sito AD
nltest /dsgetsite
controllo canale sicuro dopo il join (per server già uniti)
nltest /sc_verify:xxx.local
test porte a elenco
88,135,389,445,3268,464 | % { Test-NetConnection dc01.xxx.local -Port $_ } </code></pre>
<h3>Schema decisionale sintetico</h3>
<ul>
<li>Se <em>SRV</em> mancano → <strong>DNS</strong>.</li>
<li>Se porte chiuse → <strong>firewall</strong>.</li>
<li>Se tempo fuori soglia → <strong>sincronizzazione</strong>.</li>
<li>Se oggetto già presente → <strong>ricrea</strong>.</li>
<li>Se nessuna replica → <strong>stato DC</strong>.</li>
</ul>
<h2>Conclusione</h2>
<p>Seguendo la procedura e le tabelle di questa guida, nella grande maggioranza dei casi è possibile individuare con precisione la radice del problema e completare con successo il join del server al dominio. Un approccio sistematico riduce i tempi di fermo, evita tentativi casuali e crea una base solida per standardizzare il provisioning dei nuovi server.</p>
<p><em>Promemoria</em>: conserva sempre un <strong>pacchetto di evidenze</strong> con output dei comandi, estratti di <code>NetSetup.log</code>, screenshot del DNS e dettaglio delle regole firewall interessate. Sarà prezioso per verifiche post‑incidente e per futuri casi simili.</p>
<hr>
<p><strong>Riferimento rapido della procedura suggerita</strong></p>
<ol>
<li>Controllo rete di base:
<pre><code class="language-powershell">Test-NetConnection <DC_FQDN> -Port 445
Test-NetConnection <DC_IP> -Port 389
nltest /dsgetdc:xxx.local
Verifica DNS:
- Usa solo l’IP del DC come DNS sulla scheda di rete.
- Conferma i record SRV:
Resolve-DnsName -Type SRV ldap.tcp.dc._msdcs.xxx.local
Allinea l’orario:
w32tm /resync
Esamina e, se necessario, ricrea l’account computer in AD.
Ripeti il join con tracciamento:
netdom join AZxxx /domain:xxx.local /userd:xxx\Administrator /passwordd:*
Se persiste:
- Raccogli
%SystemRoot%\Debug\NetSetup.log
e gli eventi 5722/5719 in System. - Esegui
dcdiag /v
sul DC e correggi eventuali fault, quindi riprova.
Note pratiche
- Il codice che cita la mancata mappatura di account e SID è tipico quando esiste un conflitto sull’oggetto computer o quando il DNS indirizza verso un DC non corretto.
- Il messaggio generico sulla funzione non completata quasi sempre segue il primo errore e raramente è la radice del problema.
- Con firewall di nuova generazione, ricorda l’apertura del range RPC dinamico tra il server e i controller.
- Se il server è frutto di clonazione, verifica l’assenza di SID duplicati e che il template sia stato generalizzato.
In sintesi: applicando in sequenza i controlli su connettività, DNS, tempo, oggetto computer e permessi, e usando gli strumenti di diagnostica suggeriti, risolvi oltre la grandissima parte dei fallimenti di join con gli errori indicati in ambienti moderni.