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).
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)
Codice | Cosa indica | Effetto 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
Sintomo | Causa probabile | Azione immediata |
---|---|---|
0x54b nel log, nltest /dsgetdc fallisce | DNS 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 log | Oggetto computer inesistente/disabilitato o non riutilizzabile dopo hardening | Elimina o reimposta l’oggetto in AD; verifica permessi e ripeti il join |
Kerberos/clock skew, autent. fallita | Ora diversa > 5 minuti | w32tm /resync e verifica origine tempo |
Join funziona solo on‑prem, non via VPN | Firewall/NAT che chiude RPC dinamiche 49152–65535/TCP | Apri 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
- 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)
- Pulisci cache e registra:
ipconfig /flushdns ipconfig /registerdns
- 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). - 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/Proto | Servizio | Uso nel join |
---|---|---|
53 TCP/UDP | DNS | Risoluzione nome dominio e record SRV |
88 TCP/UDP | Kerberos | Autenticazione sicura |
135 TCP | RPC Endpoint Mapper | Negoziazione canali RPC |
389 TCP/UDP | LDAP | Query directory, creazione/associazione oggetto computer |
445 TCP | SMB | Accesso a SYSVOL/NETLOGON, pacchetti GPO |
49152–65535 TCP | RPC dinamiche | Chiamate DRS/RPC dopo l’EPMapper |
464 TCP/UDP | kpasswd | Rotazione password account macchina (alcuni scenari) |
3268/3269 TCP | Global Catalog | Query cross‑domain/forest (se presenti) |
Test rapidi dal client (modifica <DC> con il nome o IP del controller):
Test-NetConnection <DC> -Port 389
Test-NetConnection <DC> -Port 445
Test-NetConnection <DC> -Port 135
Test-NetConnection <DC> -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 → guarda0x54b
e i dettagli DNS.NetpCreateLsaMachineAccount
/NetpSetLsaPrimaryDomain
: fase LDAP/RPC → correlata a0x525
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”
- DNS del client = solo DNS del DC.
ipconfig /flushdns
e/registerdns
. - SRV presenti per
ldap.tcp.dc.msdcs.homedomain.local
ekerberos.tcp.dc.msdcs.homedomain.local
. - Porte 53, 88, 135, 389, 445, 49152–65535/TCP raggiungibili verso i DC.
- Oggetto computer W11‑1: se esiste, reimposta o elimina; se non esiste, lascia che il join lo crei.
- Permessi utente: “Add workstations to domain” (quota non esaurita) o privilegi delegati sulla OU.
- Ora allineata:
w32tm /resync
;w32tm /query /source
. - Policy/FW: profilo rete non “Pubblico”, restrizioni NTLM non in Deny durante il test, firewall consente SMB/RPC.
- Riprova il join con
Add-Computer
onetdom
.
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”
- Configura DNS del client: solo IP del DC.
- Flush e register:
ipconfig /flushdns
,/registerdns
. - SRV: verifica con
nslookup -type=SRV
. - Porte: esegui
Test-NetConnection
su 389/445/135/88. - Oggetto AD: in ADUC elimina o reimposta W11‑1. Controlla quota/permessi.
- Ora:
w32tm /query /source
e/resync
. - Join:
Add-Computer -DomainName HOMEDOMAIN
(con eventuale-OUPath
). - Verifica: dopo il riavvio, controlla
whoami /all
, accesso a\<DC>\sysvol
, applicazione GPO (gpupdate /force
).
Errori correlati utili da riconoscere
Codice/Evento | Contesto | Indicazione |
---|---|---|
0x51f (ERRORNOLOGON_SERVERS ) | Autenticazione | Nessun DC raggiungibile (rete/DNS/porte) |
0x6ba (RPCSSERVER_UNAVAILABLE ) | RPC | Endpoint Mapper/porte RPC dinamiche bloccate |
0xaac (NERR_AccountReuseBlockedByPolicy ) | Join | Riuso 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
- DNS del client: solo DC; verifica SRV.
- Porte aperte: 53, 88, 135, 389, 445, 49152–65535/TCP.
- Oggetto computer: elimina/reimposta, verifica MachineAccountQuota, permessi “Add workstations to domain”.
- Sincronizzazione oraria:
w32tm
. - Policy/FW: niente Deny NTLM; profilo rete non “Pubblico”.
- Riprova il join con
Add-Computer
onetdom
.
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
oRename-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.