Un échec de jonction d’un serveur Windows Server 2022 au domaine peut paralyser vos déploiements automatisés et vos stratégies de sécurité. Cet article détaille une procédure éprouvée pour éliminer les erreurs 1332 et 1003 et restaurer la confiance Kerberos entre l’hôte et Active Directory.
Vue d’ensemble du problème
Lorsqu’un serveur fraîchement installé – dans notre scénario, AZxxx – essaie de rejoindre le domaine xxx.LOCAL, l’Assistant d’adhésion se ferme avec :
- “The join operation was not successful”
- Id. événement 1332 – No mapping between account names and security IDs
- Id. événement 1003 – Generic join failure
Dans C:\Windows\debug\NetSetup.log
, on retrouve typiquement la ligne : NetpMapNameToSid: 0x534 – No mapping between account names and security IDs
. Ces erreurs signalent qu’au moins un prérequis Kerberos ou LDAP fait défaut.
Symptômes observés
- Impossibilité de résoudre les enregistrements SRV/Ldap (_ldap._tcp.dc._msdcs.xxx.local).
- Temps d’attente (> 30 s) lors de « Applying Computer Settings ».
- Entrées
KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN
dans%SystemRoot%\debug\krb5kdc.log
côté DC. - Trames RST ou ICMP « Fragmentation needed » dans une capture Wireshark.
Analyse détaillée et causes fréquentes
Piste | Explication |
---|---|
Résolution DNS | Le poste client doit utiliser exclusivement les contrôleurs de domaine (DC) comme serveurs DNS. Des enregistrements SRV manquants ou renvoyant une mauvaise adresse empêchent l’authentification Kerberos. |
Connectivité réseau | Les ports critiques (53, 88, 135, 389/636, 445, 464, 49152‑65535) doivent être ouverts. Un filtrage de pare‑feu ou une translation NAT asymétrique entraîne des rejets RPC. |
Horloge système | Un décalage > 5 minutes invalide les tickets Kerberos. La commande w32tm /resync doit renvoyer « The command completed successfully ». |
Droits d’ajout au domaine | Le compte utilisé doit posséder le privilège « Join a computer to the domain ». Hors Domain Admins, créez une délégation sous Active Directory Users and Computers → Advanced Features. |
Objet ordinateur existant | Un objet résiduel « AZxxx » interdit la recréation du SID. Supprimez‑le ou cliquez sur Reset Account avant de relancer netdom join . |
Pare‑feu & MTU/VPN | Un MTU trop faible (< 1350 via VPN) fragmente les paquets Kerberos TGS > 1 500 octets – le DC rejette le fragment ≠ 0. Activez la découverte PMTU ou forcez netsh interface ipv4 set subinterface <ifIndex> mtu=1400 store=persistent . |
Méthodologie de résolution pas‑à‑pas
- Contrôler la configuration DNS
ipconfig /all # le DNS doit pointer vers le DC nslookup AZxxx # doit résoudre le nom court et FQDN nslookup -type=SRV _ldap._tcp.dc._msdcs.xxx.local
- Tester la connectivité
Test-NetConnection dc1.xxx.local -Port 88 # Kerberos Test-NetConnection dc1.xxx.local -Port 445 # SMB Get-NetFirewallProfile | Select Name,Enabled
En cas d’échec, lancez untracert
ou capturez les paquets (pktmon start --capture
) pour identifier le saut bloquant. - Synchroniser l’heure
w32tm /config /syncfromflags:domhier /update Restart-Service w32time w32tm /resync /force
Vérifiez l’écart :w32tm /stripchart /computer:dc1.xxx.local /samples:3 /dataonly
. Il doit être < 5 000 ms. - Vérifier les journaux Événements
Ouvrez eventvwr.msc :- System & Directory Service sur le DC.
- System, Netlogon et DNS Client Events sur AZxxx.
- Relancer l’adhésion
netdom join AZxxx /domain:xxx.local /userd:DOM\CompteJoin /passwordd:* # Ou : Add-Computer -DomainName "xxx.local" -Credential "DOM\CompteJoin" -Restart
- Analyser
NetSetup.log
si l’erreur persiste
Repérez la séquence :[2025/08/21 14:32:17] NetpMapNameToSid: DOM\CompteJoin [2025/08/21 14:32:17] NetpMapNameToSid: 0x534
Le code 0x534 confirme une SID‑name mismatch. Contrôlez que l’UACsAMAccountName
existe réellement et n’a pas été renommé.
Diagnostics avancés
Valider la chaîne Kerberos
klist purge
klist get host/azxxx.xxx.local
nltest /sc_verify:xxx.local
Le test nltest /sc_verify
doit retourner « Trusted DC Name ». Toute erreur STATUS_NO_LOGON_SERVERS
renvoie vers la couche DNS.
Comparer les MTU entre client et DC
Get-NetIPInterface | Where InterfaceAlias -EQ "Ethernet" | ft InterfaceAlias,NlMtuBytes
Une différence de 1500 ↔ 1400 sur un tunnel VPN non fragmentant est souvent révélatrice.
Exécuter dcdiag
et repadmin
dcdiag /v /c /fix
repadmin /replsummary
Les tests « Advertising » et « Services » doivent être PASS. Les erreurs côté DC peuvent être la véritable cause racine d’un échec client.
Capturer un LDAP Ping
pktmon filter add -p 389
pktmon start --etw -m real-time
Absence de réponse TCP/LDAP dans 3 secondes confirme un filtrage réseau.
Prévention et bonnes pratiques
- Intégrez la vérification DNS → Kerberos → RPC dans vos scripts IaaS avant chaque promotion OU jonction.
- Centralisez la configuration NTP via
Group Policy → System → Windows Time Service
. - Générez un rapport quotidien
Get-ADComputer -Filter *
pour détecter les comptes ordinateurs orphelins ou dupliqués. - Documentez les plages dynamiques RPC autorisées et synchronisez‑les sur tous vos pare‑feu inter‑sites.
- Automatisez la purge d’EDR/AV (exclusion temporelle) dans vos pipelines de déploiement Terraform/Ansible.
Foire aux questions
Pourquoi ping DC fonctionne‑t‑il alors que la jonction échoue ? Un ping n’utilise ni Kerberos ni RPC ; il suffit donc que le port ICMP soit ouvert. La résolution DNS ou le port 445 peuvent encore être bloqués. Puis‑je utiliser un compte service plutôt qu’un Domain Admin ? Oui : déléguez l’attribut Validated write to DNS host name et Create Computer Objects sur une OU cible. Ainsi, vos pipelines CI/CD restent de moindre privilège. Que signifie exactement l’erreur 1003 ? C’est un conteneur générique. Le sous‑code NetpGetJoinInformation dans NetSetup.log
ou l’id d’événement supplémentaire dans System pointera vers la vraie cause : DNS, SID, horaire ou RPC. Le redémarrage est‑il obligatoire après Add‑Computer
? Oui : la mise à jour du Primary Domain SID
et le réinitialisation du canal sécurisé (Schannel) nécessitent un reboot complet.
Conclusion
En appliquant la séquence DNS → réseau → heure → droits → redémarrage, les erreurs 1332/1003 sont généralement résolues en quelques minutes. Conservez une discipline stricte sur vos zones DNS, synchronisez les horloges, et limitez les ACL pare‑feu aux ports minimaux requis afin d’éviter que ces incidents ne se reproduisent.