Windows Server 2022 : résoudre les erreurs 1332/1003 lors de l’adhésion au domaine

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.

Sommaire

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

PisteExplication
Résolution DNSLe 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éseauLes 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èmeUn décalage > 5 minutes invalide les tickets Kerberos. La commande w32tm /resync doit renvoyer « The command completed successfully ».
Droits d’ajout au domaineLe 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 existantUn 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/VPNUn 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

  1. 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
  2. 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 un tracert ou capturez les paquets (pktmon start --capture) pour identifier le saut bloquant.
  3. 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.
  4. Vérifier les journaux Événements
    Ouvrez eventvwr.msc :
    • System & Directory Service sur le DC.
    • System, Netlogon et DNS Client Events sur AZxxx.
    Cherchez l’id 5719 (No logon servers available) ou l’id 5805 (duplicated machine SID).
  5. Relancer l’adhésion
    netdom join AZxxx /domain:xxx.local /userd:DOM\CompteJoin /passwordd:* # Ou : Add-Computer -DomainName "xxx.local" -Credential "DOM\CompteJoin" -Restart
  6. 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’UAC sAMAccountName 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.

Sommaire