Votre serveur Windows renvoie « The specified domain either does not exist or could not be contacted » lors de la jonction au domaine ? Suivez ce guide pas‑à‑pas, optimisé pour WIN‑SRV2 (membre) et WIN‑SRV1 (contrôleur de domaine), afin d’identifier et corriger rapidement la cause.
Contexte et symptôme
Dans un environnement Active Directory simple (un contrôleur de domaine WIN‑SRV1, un serveur membre WIN‑SRV2), la tentative de rejoindre le domaine échoue. Le message affiché est :
“The specified domain either does not exist or could not be contacted”
Cette erreur signale un échec avant l’étape d’authentification de la jonction : elle est presque toujours liée à la résolution de noms (DNS), à la connectivité réseau ou à la disponibilité des services AD côté contrôleur.
Causes courantes
| Catégorie | Explication succincte |
|---|---|
| Réseau | Pas de connectivité IP entre les deux serveurs (câble, VLAN, route, VPN, MTU, filtrage ICMP/UDP/TCP, etc.). |
| DNS | WIN‑SRV2 ne peut pas résoudre le nom du contrôleur de domaine ou du domaine AD (suffixe DNS absent, mauvais DNS configuré, enregistrements SRV manquants). |
| Ports bloqués | 53 (DNS), 88 (Kerberos), 389 (LDAP), 445 (SMB), 135 + plage RPC dynamiques. |
| Contrôleur AD | WIN‑SRV1 n’est plus opérationnel : service AD DS arrêté, SYSVOL/NETLOGON non partagés, SRV non publiés. |
| Heure système | Écart horaire > 5 min entre les serveurs, invalidant Kerberos et la négociation sécurisée. |
Ports indispensables (référence rapide)
| Port | Proto | Service | Rôle |
|---|---|---|---|
| 53 | TCP/UDP | DNS | Résolution de noms/mise à jour dynamique |
| 88 | TCP/UDP | Kerberos | Authentification |
| 389 | TCP | LDAP | Découverte/annuaire |
| 445 | TCP | SMB | Accès SYSVOL/NETLOGON |
| 135 | TCP | RPC Endpoint Mapper | Négociation RPC |
| 49152–65535 | TCP | RPC dynamiques | Appels distants DCE/RPC |
Procédure de résolution
- Tester la connectivité
# Depuis WIN‑SRV2 ping 192.168.x.y # Adresse IP de WIN‑SRV1 ping WIN-SRV1 # Nom court (NetBIOS/DNS) tracert 192.168.x.y Test-NetConnection 192.168.x.y -Port 445 Test-NetConnection 192.168.x.y -Port 389- ICMP bloqué ? Ping peut échouer même si la connectivité TCP est OK : fiez‑vous plutôt à
Test-NetConnectionsur les ports clés. - En cas d’échec, inspectez câblage, commutateurs, VLAN, routes, règles NAT/VPN, groupes de sécurité.
- ICMP bloqué ? Ping peut échouer même si la connectivité TCP est OK : fiez‑vous plutôt à
- Assurez‑vous que le rôle Contrôleur de domaine est installé et opérationnel.
- Vérifiez la publication DNS : SRV sous
_msdcs.domaine.local, zones intégrées à AD, mises à jour dynamiques autorisées. - En cas d’anomalies :
ipconfig /registerdns, redémarrage du serviceDNS, vérification de la zone AD‑intégrée. - Sur WIN‑SRV1, si les SRV manquent : vérifiez que la zone
_msdcs.domaine.localexiste et accepte les mises à jour dynamiques, puisipconfig /registerdnset redémarrez le service DNS si besoin.
Exemples d’analyses ciblées
Résolution DNS approfondie
# Vérifier le suffixe primaire et la stratégie de résolution
Get-DnsClient
Get-DnsClientGlobalSetting
# Vérifier que WIN‑SRV2 utilise WIN‑SRV1 comme DNS
(Get-DnsClientServerAddress -AddressFamily IPv4).ServerAddresses
# Résolution avancée (timeout, trace)
Resolve-DnsName WIN-SRV1 -Server 192.168.x.y -DnsOnly -NoHostsFile -Type A -LlmnrNetbiosNodeType 2
Ouverture SMB/LDAP/Kerberos
foreach ($p in 53,88,135,389,445) {
Test-NetConnection WIN-SRV1 -Port $p -InformationLevel Detailed
}
Validation SYSVOL/NETLOGON
# Sur WIN‑SRV1
net share | findstr /I "SYSVOL NETLOGON"
Get-ChildItem \\WIN-SRV1\SYSVOL
Cas particuliers et pièges fréquents
- DNS externe configuré sur WIN‑SRV2 : tant que la jonction n’est pas faite, n’utilisez qu’un seul DNS : l’IP de WIN‑SRV1. Les DNS publics ne connaissent pas votre domaine AD.
- Multi‑homed DC (plusieurs cartes réseau) : peut publier des enregistrements A/SRV incohérents. Désactivez l’enregistrement non désiré (RegisterThisConnectionsAddress) ou fixez l’ordre des interfaces.
- NAT/SD‑WAN/VPN : Kerberos/LDAP/SMB nécessitent la connectivité bidirectionnelle. Les plages RPC dynamiques doivent être autorisées ou bornées (par GPO) si votre politique le requiert.
- Suffixe DNS manquant : sans suffixe
domaine.local, la résolution de WIN‑SRV1 peut échouer. Configurez le suffixe primaire ou utilisez le FQDN (WIN-SRV1.domaine.local). - Heure désalignée : des snapshots/VM suspendues dérivent souvent. Corrigez l’heure sur l’hôte et la VM, puis
w32tm /resync. - Objet ordinateur orphelin : si un ancien WIN‑SRV2 existe dans AD, supprimez/« Reset » l’objet pour éviter le conflit lors de la jonction.
- IPv6 : si non utilisé ou mal routé, la résolution peut pointer vers des adresses IPv6 injoignables. Testez en désactivant temporairement IPv6 sur les deux serveurs (ou corrigez le routage).
Régénérer proprement les enregistrements SRV
Lorsque le DC ne publie pas correctement ses entrées :
# Sur WIN‑SRV1
ipconfig /registerdns
Restart-Service DNS
# Vérifier la zone _msdcs
nslookup -type=SRV _ldap._tcp.dc._msdcs.domaine.local
Assurez‑vous que la zone est intégrée à AD et que les mises à jour dynamiques sont permises (sécurisées).
Script d’auto‑diagnostic prêt à l’emploi
Ce mini‑script PowerShell exécute les tests clés et affiche un résumé actionnable pour WIN‑SRV2 :
$DomainFqdn = "domaine.local"
$DcName = "WIN-SRV1"
$DcIp = "192.168.x.y"
$CriticalPorts = 53,88,135,389,445
$Errors = @()
Write-Host "=== Vérification DNS côté client ==="
$dns = (Get-DnsClientServerAddress -AddressFamily IPv4).ServerAddresses
if ($dns -notcontains $DcIp) { $Errors += "DNS primaire non défini sur $DcIp" }
Write-Host "=== Résolution du DC ==="
try { $null = Resolve-DnsName $DcName -ErrorAction Stop } catch { $Errors += "Impossible de résoudre $DcName" }
Write-Host "=== Découverte d’un DC via DNS ==="
try { $null = Resolve-DnsName "_ldap._tcp.dc._msdcs.$DomainFqdn" -Type SRV -ErrorAction Stop } catch { $Errors += "SRV LDAP absents pour $DomainFqdn" }
Write-Host "=== Connectivité TCP critique ==="
foreach ($p in $CriticalPorts) {
$t = Test-NetConnection $DcIp -Port $p
if (-not $t.TcpTestSucceeded) { $Errors += "Port $p fermé vers $DcIp" }
}
Write-Host "=== État temps (Kerberos) ==="
$ts = w32tm /query /status 2>$null
if ($LASTEXITCODE -ne 0) { $Errors += "Service de temps indisponible" }
if ($Errors.Count -eq 0) {
Write-Host "`nTout est OK. Vous pouvez lancer : Add-Computer -DomainName $DomainFqdn -Restart"
} else {
Write-Host "`nPoints à corriger :"
$Errors | Sort-Object | ForEach-Object { Write-Host " - $_" }
}
Validation post‑adhésion
- Redémarrez WIN‑SRV2, puis connectez‑vous avec un compte du domaine.
- Vérifiez la découverte du DC et le canal sécurisé :
whoami /fqdn
nltest /dsgetdc:domaine.local
nltest /sc_verify:domaine.local
echo %LOGONSERVER%
Get-ADDomainController -Discover # (avec RSAT)
- Mettez à jour et validez la stratégie de groupe :
gpupdate /force
gpresult /r /scope:computer
Journalisation et mapping d’erreurs
| Événement/Code | Origine | Interprétation | Action conseillée |
|---|---|---|---|
| 5719 | NETLOGON | Impossible d’établir un canal sécurisé | DNS/ports/RPC; vérifier DC en ligne; nltest /dsgetdc |
| 1053 | GroupPolicy | Le traitement de la stratégie a échoué | DNS/SYSVOL; tester \\WIN-SRV1\SYSVOL |
| 1326 | Sécurité/Logon | Échec d’authentification | Compte/heure; vérifier Kerberos, w32tm |
| 2087/2088 | Active Directory | Problèmes de DNS pour AD | SRV manquants, ipconfig /registerdns, zone AD |
| 40960/40961 | LSA/Kerberos | Échec de la négociation Kerberos | Heure/ports 88; SPN; synchroniser NTP |
Checklist opérationnelle
- DNS du membre : uniquement l’IP de WIN‑SRV1 tant que la jonction n’est pas faite.
- Résolution :
WIN‑SRV1et_ldap._tcp.dc._msdcs.domaine.localse résolvent. - Ports : 53/88/389/445/135 + RPC dynamiques ouverts entre les deux serveurs.
- DC :
dcdiagOK,SYSVOL/NETLOGONpartagés. - Heure : écart < 5 min,
w32tm /query /statusOK. - Commande :
Add-Computerounetdom joinréussit, suivi d’un redémarrage.
Conseils supplémentaires
- Un seul DNS : lors de la jonction, évitez d’ajouter des DNS Internet. Une fois l’adhésion réussie, vous pouvez chaîner la résolution via le serveur DNS AD (transférés/résolveurs).
- IPv6 : si non utilisé, testez en le désactivant temporairement sur les deux serveurs pour écarter un routage IPv6 bancal.
- Redémarrage : après la jonction, redémarrez WIN‑SRV2 puis ouvrez une session avec un compte du domaine pour valider.
- Nommage : préférez FQDN (
WIN-SRV1.domaine.local) dans vos tests afin d’éviter un suffixe manquant. - Sécurité : conservez les règles firewall le plus restrictives possible, mais autorisez l’essentiel entre hôtes autorisés.
Exemples concrets de sessions de diagnostic
Session type : DNS en cause
WIN‑SRV2> ipconfig /all
DNS Servers . . . . . . . . . . . : 8.8.8.8 <-- Problème : DNS public configuré
WIN‑SRV2> nslookup _ldap._tcp.dc._msdcs.domaine.local
*** server can't find _ldap._tcp.dc._msdcs.domaine.local: NXDOMAIN
Correctif :
* Remplacer le DNS par l’IP de WIN‑SRV1
* ipconfig /flushdns
* ipconfig /registerdns (sur WIN‑SRV1)
* Refaire nslookup : on doit obtenir des enregistrements SRV
Session type : ports bloqués
WIN‑SRV2> Test-NetConnection WIN-SRV1 -Port 445
TcpTestSucceeded : False
Correctif :
* Ouvrir TCP 445 entre WIN‑SRV2 et WIN‑SRV1 (pare‑feu/ACL)
* Vérifier partage \WIN-SRV1\SYSVOL
* Retenter la jonction
Session type : dérive d’horloge
WIN‑SRV2> w32tm /query /status
Leap Indicator: 3 (clock not synchronized)
Correctif :
* w32tm /resync
* Si besoin, configurer NTP côté PDC Emulator
* Retenter la jonction (Kerberos opérationnel)
Conclusion
Dans la majorité des cas, l’échec « The specified domain either does not exist or could not be contacted » se résout en corrigeant DNS, en ouvrant les ports essentiels et en assurant la santé du contrôleur. La checklist ci‑dessus, appuyée par les commandes proposées, vous permet de ramener WIN‑SRV2 dans le domaine géré par WIN‑SRV1 de manière fiable et reproductible.

