Complete Active Directory teaching environment based on dockurr/windows: - Windows Server domain controller, Windows 11 client, Debian 12 client - docker-compose orchestration, env-driven configuration - Bilingual documentation (FR + EN) for students - Dual approach (GUI + PowerShell) in every procedure - Instructor course plan and reference scripts - RDP launcher scripts for Linux, macOS and Windows Made by AcadéNice - https://acadenice.fr/
4.9 KiB
Joindre le poste Windows au domaine
Objectif : démarrer le conteneur pc01, installer Windows 11, puis joindre la
machine au domaine corp.lab.
Démarrer le conteneur
docker compose up -d pc01
L'installation Windows 11 se déroule en automatique, même principe que pour
DC01. Compte 20 à 40 minutes. Suis la progression via :
- http://localhost:8009 (port web de
pc01) docker compose logs -f pc01
Une fois le bureau accessible, utilise RDP pour la suite :
./scripts/rdp-client.sh
Identifiants locaux : LocalAdmin / AD_ADMIN_PASSWORD (même valeur que pour
DC01 dans ce lab).
Étape 1 : préparer le client
Renommer la machine
Les installs dockurr partent avec un hostname généré (WIN-xxxxxxx). On le
change avant de joindre. Approche graphique via Paramètres > Système > À propos > Renommer ce PC, ou PowerShell :
Rename-Computer -NewName "PC01" -Restart
Pointer le DNS vers le DC
Sans DNS correct, la jonction échoue. PC01 doit interroger DC01 pour
résoudre corp.lab et les enregistrements SRV d'AD.
Approche graphique : Paramètres > Réseau > Propriétés de la carte réseau > Modifier les paramètres DNS.
Approche PowerShell :
Get-NetAdapter | Format-Table Name, Status
# Remplace "Ethernet" par le nom de ta carte
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses <IP_du_DC>
Pour déterminer l'IP à utiliser, voir le bloc "Spécificité du lab Docker" ci-dessous.
Spécificité du lab Docker
dockurr/windows fait tourner Windows dans une VM avec NAT interne. L'IP que
le DC annonce dans son DNS est son IP interne VM (non routable depuis
PC01). Mais le conteneur DC dispose d'une règle DNAT qui forwarde tous les
ports vers la VM.
Solution : utilise l'IP du conteneur DC01 (celle visible via
docker inspect lab-dc01) et ajoute une entrée hosts pour que la résolution
retombe dessus.
Dans PowerShell (PC01) :
# Remplacer <IP_CONTAINER_DC> par celle retournée côté hôte par :
# docker inspect lab-dc01 --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'
Add-Content C:\Windows\System32\drivers\etc\hosts "`n<IP_CONTAINER_DC> corp.lab dc01.corp.lab dc01"
ipconfig /flushdns
Test :
Test-NetConnection -ComputerName corp.lab -Port 389
nslookup corp.lab
Étape 2 : joindre au domaine
Approche graphique
Paramètres > Système > À propos > Joindre un domaine- Ou via
sysdm.cpl > Modifier - Saisir
corp.lab, valider - Entrer les identifiants
CORP\Administrator - Redémarrer quand demandé
Approche PowerShell
Cmdlet clé : Add-Computer.
$pass = ConvertTo-SecureString "AdminP@ss!2026" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential("CORP\Administrator", $pass)
Add-Computer -DomainName corp.lab -Credential $cred -Restart
Étape 3 : autoriser un utilisateur AD à se connecter en RDP
Par défaut, seuls les membres du groupe local Administrateurs peuvent
ouvrir une session RDP. Après jonction au domaine, le groupe local
Administrateurs contient CORP\Domain Admins, donc un admin de domaine
peut RDP. Mais les utilisateurs standards doivent être ajoutés explicitement.
Approche graphique
- Clic droit sur
Ce PC > Propriétés > Paramètres d'utilisation à distance Sélectionner les utilisateurs> AjouterCORP\pmartin(ou un groupe AD)
Approche PowerShell
Add-LocalGroupMember -Group "Utilisateurs du Bureau à distance" -Member "CORP\pmartin"
En pratique, crée un groupe AD dédié (par exemple GG_UtilisateursRDP) et
ajoute-le via GPO au groupe local de toutes les machines.
Étape 4 : tester la connexion en utilisateur AD
Depuis l'hôte Linux/macOS :
xfreerdp3 /v:127.0.0.1:3391 /u:pmartin /d:CORP /p:'<mdp>' /cert:ignore +clipboard /size:1600x900 /dynamic-resolution
Sous Windows, utilise mstsc et saisis CORP\pmartin.
Une fois connecté, valide :
whoami
whoami /groups
Get-ComputerInfo | Select CsDomain, CsDomainRole
Tu dois voir :
CORP\pmartin- les groupes AD de l'utilisateur
CsDomainRole : MemberWorkstation
Points d'attention
- Un compte avec l'option "changement de mot de passe au prochain login" ne
peut pas se connecter via RDP avec NLA. Soit tu désactives l'option côté DC
(
Set-ADUser -ChangePasswordAtLogon $false), soit tu forces un premier login via/sec:rdppour afficher la page de changement. - Si tu rencontres
Le mappage entre les noms de compte et les ID de sécurité n'a pas été effectuélors d'unAdd-Computer, le PC a un état AD corrompu. Repasse en workgroup viaAdd-Computer -WorkgroupName "WORKGROUP" -Forcepuis recommence. - Ne laisse pas traîner des comptes d'ordinateur orphelins : quand tu
recrées
PC01, pense à supprimer l'entrée dansCN=Computers.
Étape suivante
07-jonction-poste-linux.md pour faire la même chose côté Linux.