# 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](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 ``` 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 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 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 1. `Paramètres > Système > À propos > Joindre un domaine` 2. Ou via `sysdm.cpl > Modifier` 3. Saisir `corp.lab`, valider 4. Entrer les identifiants `CORP\Administrator` 5. 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 1. Clic droit sur `Ce PC > Propriétés > Paramètres d'utilisation à distance` 2. `Sélectionner les utilisateurs` > Ajouter `CORP\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:'' /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:rdp` pour 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'un `Add-Computer`, le PC a un état AD corrompu. Repasse en workgroup via `Add-Computer -WorkgroupName "WORKGROUP" -Force` puis recommence. - Ne laisse pas traîner des comptes d'ordinateur orphelins : quand tu recrées `PC01`, pense à supprimer l'entrée dans `CN=Computers`. ## Étape suivante `07-jonction-poste-linux.md` pour faire la même chose côté Linux.