Windows 11: errore 0x525 e 0x54b nel join al dominio AD – guida completa DNS, porte, oggetto computer e policy

Una VM Windows 11 non riesce a entrare nel dominio HOMEDOMAIN e in C:\Windows\Debug\NetSetup.log compaiono gli errori 0x525 e 0x54b. In questa guida trovi significato, diagnosi rapida e una procedura completa per risolvere (DNS, porte, oggetto computer, orario, policy, comandi PowerShell).

Indice

Scenario e sintomi

Durante il join al dominio di un client Windows 11 (fisico o VM), l’operazione fallisce. Nel file C:\Windows\Debug\NetSetup.log compaiono righe simili alle seguenti:

... NetpDsGetDcName: failed to find a DC having account 'W11-1$': 0x525
... NetpDsGetDcName: failed to find a DC in the specified domain: 0x54b

Spesso il client vede il dominio con nltest /dsgetdc:HOMEDOMAIN o ping risponde, eppure il join resta impossibile. Questo accade perché la risoluzione DNS o la scoperta dei controller funziona solo in parte oppure l’oggetto computer non è utilizzabile.

Significato degli errori (interpretazione corretta)

CodiceCosa indicaEffetto pratico
0x525 (ERRORNOSUCH_USER)L’account computer W11‑1$ non esiste, è stato rimosso, disabilitato oppure non è visibile per ACL/replica.Il join fallisce se l’oggetto AD è stato cancellato, disabilitato o è stato creato da un altro utente senza permessi di riuso.
0x54b (ERRORNOSUCH_DOMAIN)Il client non riesce a contattare un Domain Controller (tipicamente per problemi DNS, SRV mancanti o porte di rete bloccate).La fase di scoperta dei controller di dominio termina senza risultati, quindi il join non può procedere.

Mappa rapida → da sintomo a causa probabile

SintomoCausa probabileAzione immediata
0x54b nel log, nltest /dsgetdc fallisceDNS non punta al DC; SRV non registrati; porte bloccate; profilo rete “Pubblico”Imposta DNS del DC, verifica SRV, controlla le porte e il profilo rete
0x525 nel logOggetto computer inesistente/disabilitato o non riutilizzabile dopo hardeningElimina o reimposta l’oggetto in AD; verifica permessi e ripeti il join
Kerberos/clock skew, autent. fallitaOra diversa > 5 minutiw32tm /resync e verifica origine tempo
Join funziona solo on‑prem, non via VPNFirewall/NAT che chiude RPC dinamiche 49152–65535/TCPApri la port‑range o usa VPN che consenta RPC dinamiche

Prerequisiti del join AD (ripasso sintetico)

  • Il DNS del client deve puntare esclusivamente al DNS del Domain Controller (niente DNS pubblico o del router come secondario).
  • Il client deve raggiungere il DC sulle porte chiave (vedi tabella più avanti).
  • L’ora deve essere allineata con il dominio (tolleranza tipica: ±5 minuti).
  • Il nome del computer (sAMAccountName con suffisso $) deve essere univoco e disponibile in AD.
  • Le policy e il firewall non devono impedire NTLM/Kerberos o i canali RPC necessari al join.

Strategia di risoluzione: percorso operativo “a prova di errore”

DNS prima di tutto

  1. Imposta il DNS del client sul solo DC (esempio 192.168.10.10) e lascia vuoto l’alternativo: Control Panel → Network & Internet → Adapter → IPv4 → Preferred DNS = <IP DC>, Alternate = (vuoto)
  2. Pulisci cache e registra: ipconfig /flushdns ipconfig /registerdns
  3. Verifica i record SRV fondamentali con nslookup: nslookup -type=SRV ldap.tcp.dc._msdcs.homedomain.local nslookup -type=SRV kerberos.tcp.dc._msdcs.homedomain.local nslookup -type=SRV ldap.tcp.gc._msdcs.homedomain.local Devono tornare uno o più DC con priorità/peso e porte (389 per LDAP).
  4. Controlla che Netlogon registri i record sul DC (utile in caso di SRV mancanti). Sul DC puoi forzare: nltest /dsregdns sc stop netlogon & sc start netlogon e valutare gli eventi correlati in System e DNS Server.

Controllo porte e connettività

Il join usa diverse porte. Aprile dal client verso i DC (e dal DC verso il client per alcune risposte RPC):

Porta/ProtoServizioUso nel join
53 TCP/UDPDNSRisoluzione nome dominio e record SRV
88 TCP/UDPKerberosAutenticazione sicura
135 TCPRPC Endpoint MapperNegoziazione canali RPC
389 TCP/UDPLDAPQuery directory, creazione/associazione oggetto computer
445 TCPSMBAccesso a SYSVOL/NETLOGON, pacchetti GPO
49152–65535 TCPRPC dinamicheChiamate DRS/RPC dopo l’EPMapper
464 TCP/UDPkpasswdRotazione password account macchina (alcuni scenari)
3268/3269 TCPGlobal CatalogQuery cross‑domain/forest (se presenti)

Test rapidi dal client (modifica <DC> con il nome o IP del controller):

Test-NetConnection &lt;DC&gt; -Port 389
Test-NetConnection &lt;DC&gt; -Port 445
Test-NetConnection &lt;DC&gt; -Port 135
Test-NetConnection &lt;DC&gt; -Port 88

Se un test torna TcpTestSucceeded : False, il join fallirà. Su VPN o in ambienti NAT, la port‑range RPC è spesso la causa nascosta.

Gestione dell’oggetto computer (cuore del 0x525)

  • In Active Directory Users and Computers cerca W11‑1:
    • Se esiste ed è disabilitato, Abilitalo o esegui Reimposta account.
    • Se esiste ma è “orfano” (creato da altro utente) e il join dà errore, eliminalo e lascia che il join lo ricrei; oppure usa credenziali con diritti sulla OU di destinazione.
  • Verifica il limite di creazione postazioni (ms-DS-MachineAccountQuota, default 10): Get-ADDomain | Select-Object Name,MachineAccountQuota Se l’utente ha esaurito la quota, il join non potrà creare l’oggetto.
  • Permesso minimo: “Add workstations to domain”. In alternativa, pre‑stagiona l’oggetto nella OU corretta e assegna i diritti all’utente che esegue il join.
  • Aggiornamenti di hardening: dopo l’introduzione degli aggiornamenti di sicurezza per Netlogon e il join, Windows può impedire il riuso automatico di oggetti creati da altri. In caso di errori come riuso bloccato, cancella l’oggetto e rifai il join con credenziali adeguate, oppure fai il join con l’account che ha creato/possiede l’oggetto.

Sincronizzazione oraria (Kerberos non perdona)

w32tm /query /status
w32tm /query /source
w32tm /resync

Se l’origine è “Local CMOS Clock” o un NTP non attendibile, il clock skew può superare i 5 minuti e bloccare Kerberos. In dominio, il source dovrebbe risalire alla gerarchia AD fino al PDC Emulator.

Policy e firewall locali

  • Profilo rete: evita “Pubblico” (blocca gran parte del traffico). Usa “Privato” o, meglio, diventa “Dominio autenticato” dopo il join. Per il test: Get-NetConnectionProfile se necessario: Set-NetConnectionProfile -InterfaceAlias "Ethernet" -NetworkCategory Private
  • Restrizioni NTLM: policy come “Network security: Restrict NTLM” in modalità Deny possono interferire con alcuni passaggi del join. Porta temporaneamente in Audit o consenti per il tempo del test.
  • Firewall: abilita le regole integrate per Condivisione file e stampanti e RPC per il profilo di dominio/privato. Evita suite di sicurezza che ispezionano/filtrano SMB/RPC durante il join.

Ripetere il join in modo pulito

Opzione PowerShell (scollega e ricollega in un colpo solo, con riavvii):

Remove-Computer -UnjoinDomaincredential HOMEDOMAIN\admin -Force -Restart
dopo il riavvio
Add-Computer -DomainName HOMEDOMAIN -Credential HOMEDOMAIN\admin -Restart

Opzione classica con netdom:

netdom join W11-1 /Domain:HOMEDOMAIN /UserD:HOMEDOMAIN\admin /PasswordD:*

Suggerimenti:

  • Se vuoi posizionare il computer in una OU specifica: Add-Computer -DomainName HOMEDOMAIN -OUPath "OU=Workstations,OU=HQ,DC=homedomain,DC=local" -Credential HOMEDOMAIN\admin -Restart
  • Se hai appena eliminato l’oggetto, attendi la replica (o forza la replica tra i DC interessati) prima di riprovare.

Perché nltest /dsgetdc “funziona” ma il join no?

nltest /dsgetdc:DOMINIO verifica DNS/NetLogon e recupera un DC idoneo. Il join, però, necessita anche di:

  • LDAP (porta 389) per creare/associare l’oggetto computer;
  • RPC dinamiche (49152–65535/TCP) per diverse operazioni DRS/RPC;
  • SMB (445/TCP) per accedere a SYSVOL;
  • Oggetto computer riutilizzabile con i permessi corretti.

Se una sola di queste condizioni manca, nltest può restituire un DC ma il join continua a fallire con 0x525 o 0x54b.

Diagnostica approfondita

NetSetup.log: come leggerlo

Il file %windir%\Debug\NetSetup.log racconta il join passo per passo. Cerca:

  • NetpDsGetDcName: problemi di scoperta DC → guarda 0x54b e i dettagli DNS.
  • NetpCreateLsaMachineAccount / NetpSetLsaPrimaryDomain: fase LDAP/RPC → correlata a 0x525 o permessi.

Puoi estrarre solo gli errori con:

findstr /i /c:"0x" /c:"fail" "C:\Windows\Debug\NetSetup.log"

Event Viewer: dove guardare

  • Client: System (Netlogon, LsaSrv, Time‑Service), DNS Client.
  • DC: Directory Service, DNS Server, Netlogon, File Replication Service/DFS Replication (per SYSVOL).

Log estesi Netlogon (solo se serve)

Per tracciare a basso livello, temporaneamente abilita il debug Netlogon sul client o DC e poi disattivalo:

nltest /dbflag:0x2080ffff   # abilita (verboso)
nltest /dbflag:0x0          # disabilita

Traccia di rete mirata

Quando i dubbi restano, acquisisci un trace durante il join (ricordati di fermarlo):

netsh trace start capture=yes tracefile=c:\temp\join.etl scenario=NetConnection
Esegui il join...
netsh trace stop

Analizzando join.etl (o convertendolo in .pcapng) verifichi rapidamente se sono chiusi 389/445/135 o le RPC dinamiche.

Checklist operativa “all‑in‑one”

  1. DNS del client = solo DNS del DC. ipconfig /flushdns e /registerdns.
  2. SRV presenti per ldap.tcp.dc.msdcs.homedomain.local e kerberos.tcp.dc.msdcs.homedomain.local.
  3. Porte 53, 88, 135, 389, 445, 49152–65535/TCP raggiungibili verso i DC.
  4. Oggetto computer W11‑1: se esiste, reimposta o elimina; se non esiste, lascia che il join lo crei.
  5. Permessi utente: “Add workstations to domain” (quota non esaurita) o privilegi delegati sulla OU.
  6. Ora allineata: w32tm /resync; w32tm /query /source.
  7. Policy/FW: profilo rete non “Pubblico”, restrizioni NTLM non in Deny durante il test, firewall consente SMB/RPC.
  8. Riprova il join con Add-Computer o netdom.

Appendice: comandi pronti (copia/incolla)

Verifica DNS & SRV

ipconfig /all
ipconfig /flushdns & ipconfig /registerdns

nslookup homedomain.local
nslookup -type=SRV ldap.tcp.dc._msdcs.homedomain.local
nslookup -type=SRV kerberos.tcp.dc._msdcs.homedomain.local

Test porte verso un DC specifico

$dc = "dc01.homedomain.local"
389,445,135,88 | ForEach-Object { Test-NetConnection $dc -Port $_ | Select-Object ComputerName,RemotePort,TcpTestSucceeded }

Controlli AD lato amministratore

# Richiede RSAT AD PowerShell
Get-ADDomain | Select-Object Name,MachineAccountQuota
Get-ADComputer -Filter 'Name -eq "W11-1"' -Properties Enabled,WhenCreated,LastLogonDate | Format-List

Join pulito con OU target

$cred = Get-Credential HOMEDOMAIN\admin
Add-Computer -DomainName HOMEDOMAIN `
  -OUPath "OU=Workstations,OU=HQ,DC=homedomain,DC=local" `
  -Credential $cred -Restart

Domande frequenti (FAQ rapide)

È meglio usare HOMEDOMAIN o homedomain.local?
Usa sempre il FQDN del dominio (es. homedomain.local) durante il join. Il NetBIOS (HOMEDOMAIN) può funzionare, ma il FQDN riduce ambiguità DNS.

Il nome del PC può causare problemi?
Sì: deve essere unico, massimo 15 caratteri per NetBIOS. Evita conflitti con vecchi oggetti computer non replicati o ancora presenti in altre OU.

Join via VPN: suggerimenti?
Assicurati che la VPN consenta 53/88/135/389/445 e le RPC dinamiche 49152–65535/TCP. Alcune VPN “split‑tunnel” instradano solo Internet e non il traffico verso i DC.

Ho appena aggiornato i DC e ora il join fallisce con riuso dell’account bloccato
Gli aggiornamenti di hardening hanno reso più rigido il riutilizzo degli oggetti. Elimina l’oggetto o esegui il join con l’utente che lo possiede/ha i diritti sulla OU.

Il client vede il dominio ma fallisce con 0x54b
Succede quando i record SRV sono in DNS ma le porte (389, 135, 445) sono filtrate: la scoperta in parte funziona ma le fasi LDAP/RPC no.

Esempio di troubleshooting “end‑to‑end”

  1. Configura DNS del client: solo IP del DC.
  2. Flush e register: ipconfig /flushdns, /registerdns.
  3. SRV: verifica con nslookup -type=SRV.
  4. Porte: esegui Test-NetConnection su 389/445/135/88.
  5. Oggetto AD: in ADUC elimina o reimposta W11‑1. Controlla quota/permessi.
  6. Ora: w32tm /query /source e /resync.
  7. Join: Add-Computer -DomainName HOMEDOMAIN (con eventuale -OUPath).
  8. Verifica: dopo il riavvio, controlla whoami /all, accesso a \<DC>\sysvol, applicazione GPO (gpupdate /force).

Errori correlati utili da riconoscere

Codice/EventoContestoIndicazione
0x51f (ERRORNOLOGON_SERVERS)AutenticazioneNessun DC raggiungibile (rete/DNS/porte)
0x6ba (RPCSSERVER_UNAVAILABLE)RPCEndpoint Mapper/porte RPC dinamiche bloccate
0xaac (NERR_AccountReuseBlockedByPolicy)JoinRiuso dell’oggetto computer bloccato da hardening/policy: elimina o usa credenziali con diritti

Se il problema persiste

  • Acquisisci un trace con netsh trace start capture=yes durante il join e confronta con la tabella porte.
  • Rileggi attentamente NetSetup.log e gli Event Log (System sul client, Directory Service sul DC).
  • Riesegui la check‑list di questa guida per isolare l’anello debole: quasi sempre è DNS, porte, permessi o hardening.

Conclusioni

Gli errori 0x525 e 0x54b non sono casuali: il primo indica un problema con l’oggetto computer e i permessi, il secondo denuncia difficoltà nel contattare i DC (DNS/porte). Affrontando il join con l’ordine giusto — DNS → connettività → oggetto AD → ora → policy/FW — risolvi la maggior parte dei casi senza tentativi alla cieca. Gli esempi e gli script di questa pagina ti permettono di validare rapidamente ogni ipotesi e arrivare al join riuscito con metodo.


Contenuti chiave di questa guida, in sintesi operativa

  1. DNS del client: solo DC; verifica SRV.
  2. Porte aperte: 53, 88, 135, 389, 445, 49152–65535/TCP.
  3. Oggetto computer: elimina/reimposta, verifica MachineAccountQuota, permessi “Add workstations to domain”.
  4. Sincronizzazione oraria: w32tm.
  5. Policy/FW: niente Deny NTLM; profilo rete non “Pubblico”.
  6. Riprova il join con Add-Computer o netdom.

Seguendo la check‑list sopra, nella grande maggioranza dei casi il join andrà a buon fine o, quanto meno, si individuerà rapidamente l’anello debole (DNS, rete, permessi o hardening).

Note pratiche extra

  • Se usi snapshot/clone di VM, cambia il nome del computer prima del join (sysdm.cpl o Rename-Computer).
  • Se il dominio ha più siti AD, assicurati che il client risolva e raggiunga i DC del sito corretto (subnet e site link coerenti).
  • Un DC appena promosso potrebbe richiedere qualche minuto per registrare SRV e replicare. Attendi o forza la registrazione Netlogon.
Indice