<p>Bonjour,</p>
<p>Cette question touche à plusieurs mécanismes fondamentaux d’Active Directory, notamment la <strong>durée de vie des objets tombstone</strong>, la <strong>synchronisation des mots de passe de comptes machine</strong>, et la <strong>réplication inter-contrôleurs de domaine</strong>. Voici une analyse technique exhaustive.</p>
<h2><a name="p-34548-le-mcanisme-cl-le-mot-de-passe-du-compte-machine-1" class="anchor" href="#p-34548-le-mcanisme-cl-le-mot-de-passe-du-compte-machine-1" aria-label="Heading link"></a>Le mécanisme clé : le mot de passe du compte machine</h2>
<p>Chaque ordinateur joint à un domaine Active Directory possède un <strong>compte machine</strong> (identifiable par le signe <code>$</code> à la fin du nom, ex : <code>DESKTOP01$</code>). Ce compte dispose d’un mot de passe qui est <strong>automatiquement négocié et renouvelé</strong> entre le client et le contrôleur de domaine.</p>
<h3><a name="p-34548-paramtres-par-dfaut-de-renouvellement-2" class="anchor" href="#p-34548-paramtres-par-dfaut-de-renouvellement-2" aria-label="Heading link"></a>Paramètres par défaut de renouvellement</h3>
<p>Par défaut, le mot de passe du compte machine est renouvelé tous les <strong>30 jours</strong>. Ce comportement est contrôlé par deux paramètres de stratégie de groupe :</p>
<div class="md-table">
<table>
<thead>
<tr>
<th>Paramètre GPO</th>
<th>Valeur par défaut</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Maximum machine account password age</strong></td>
<td>30 jours</td>
<td>Fréquence maximale de renouvellement</td>
</tr>
<tr>
<td><strong>Disable machine account password changes</strong></td>
<td>Non activé</td>
<td>Si activé, le mot de passe n’est jamais renouvelé</td>
</tr>
</tbody>
</table>
</div><p>Le renouvellement est déclenché par le client lui-même (pas par le DC) lors du démarrage ou pendant le fonctionnement normal.</p>
<h2><a name="p-34548-dures-critiques-connatre-3" class="anchor" href="#p-34548-dures-critiques-connatre-3" aria-label="Heading link"></a>Durées critiques à connaître</h2>
<h3><a name="p-34548-h-1-dure-de-vie-du-tombstone-tsl-tombstone-lifetime-4" class="anchor" href="#p-34548-h-1-dure-de-vie-du-tombstone-tsl-tombstone-lifetime-4" aria-label="Heading link"></a>1. Durée de vie du Tombstone (TSL - Tombstone Lifetime)</h3>
<p>La <strong>Tombstone Lifetime</strong> est la durée pendant laquelle les objets supprimés sont conservés dans AD avant d’être définitivement effacés. Elle affecte également la réplication entre contrôleurs de domaine.</p>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Vérifier la Tombstone Lifetime actuelle
$configNC = (Get-ADRootDSE).configurationNamingContext
$tombstone = Get-ADObject -Identity "CN=Directory Service,CN=Windows NT,CN=Services,$configNC" -Properties tombstoneLifetime
Write-Host "Tombstone Lifetime : $($tombstone.tombstoneLifetime) jours"
</code></pre>
<p><strong>Valeurs par défaut selon la version de Windows Server :</strong></p>
<div class="md-table">
<table>
<thead>
<tr>
<th>Version Windows Server</th>
<th>TSL par défaut</th>
</tr>
</thead>
<tbody>
<tr>
<td>Windows 2000 Server</td>
<td>60 jours</td>
</tr>
<tr>
<td>Windows Server 2003 et ultérieur (nouvelles forêts)</td>
<td><strong>180 jours</strong></td>
</tr>
<tr>
<td>Forêts migrées depuis Windows 2000</td>
<td>60 jours (inchangé)</td>
</tr>
</tbody>
</table>
</div><h3><a name="p-34548-h-2-la-rgle-des-30-jours-pour-le-mot-de-passe-machine-5" class="anchor" href="#p-34548-h-2-la-rgle-des-30-jours-pour-le-mot-de-passe-machine-5" aria-label="Heading link"></a>2. La règle des 30 jours pour le mot de passe machine</h3>
<p>Voici ce qui se passe concrètement selon la durée d’absence :</p>
<div class="md-table">
<table>
<thead>
<tr>
<th>Durée d’extinction</th>
<th>Conséquence</th>
<th>Action requise</th>
</tr>
</thead>
<tbody>
<tr>
<td>Moins de 30 jours</td>
<td>Aucun problème</td>
<td>Allumage normal</td>
</tr>
<tr>
<td>30 à 60 jours</td>
<td>Le mot de passe doit être renouvelé au prochain démarrage</td>
<td>Renouvellement automatique en général</td>
</tr>
<tr>
<td>Plus de 60 jours</td>
<td>Risque d’échec d’authentification si le DC a un mot de passe plus récent</td>
<td>Peut nécessiter une intervention</td>
</tr>
<tr>
<td>Plus de 180 jours (TSL)</td>
<td>Risque de problèmes de réplication si le DC a été réinitialisé</td>
<td>Intervention requise</td>
</tr>
<tr>
<td>Plus de 365 jours</td>
<td>Problèmes fréquents, le compte peut nécessiter une réinitialisation</td>
<td>Réinitialisation du compte machine</td>
</tr>
</tbody>
</table>
</div><h2><a name="p-34548-pourquoi-le-dlai-de-30-jours-peut-tre-trompeur-6" class="anchor" href="#p-34548-pourquoi-le-dlai-de-30-jours-peut-tre-trompeur-6" aria-label="Heading link"></a>Pourquoi le délai de 30 jours peut être trompeur</h2>
<p>Il est important de comprendre que <strong>le renouvellement du mot de passe est à l’initiative du CLIENT, pas du serveur</strong>. Cela signifie que si un ordinateur reste éteint, son mot de passe en mémoire reste valide (sa dernière valeur connue) ET le DC conserve également l’ancienne valeur.</p>
<p>Le problème survient dans le scénario suivant :</p>
<ol>
<li>L’ordinateur est éteint depuis, disons, 45 jours</li>
<li>Pendant ce temps, une politique a forcé le renouvellement du compte machine (ou le DC a été restauré depuis une sauvegarde)</li>
<li>À l’allumage, le client tente de s’authentifier avec l’ANCIEN mot de passe, qui ne correspond plus à ce que le DC attend</li>
</ol>
<h3><a name="p-34548-vrifier-lge-du-mot-de-passe-dun-compte-machine-7" class="anchor" href="#p-34548-vrifier-lge-du-mot-de-passe-dun-compte-machine-7" aria-label="Heading link"></a>Vérifier l’âge du mot de passe d’un compte machine</h3>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Vérifier la date de dernière modification du mot de passe machine
Get-ADComputer -Identity "NOM_ORDINATEUR" -Properties PasswordLastSet, LastLogonDate |
Select-Object Name, PasswordLastSet, LastLogonDate
Lister TOUS les comptes machine dont le mot de passe a plus de 90 jours
$threshold = (Get-Date).AddDays(-90)
Get-ADComputer -Filter {PasswordLastSet -lt $threshold} -Properties PasswordLastSet, LastLogonDate |
Select-Object Name, PasswordLastSet, LastLogonDate |
Sort-Object PasswordLastSet |
Format-Table -AutoSize
</code></pre>
<h2><a name="p-34548-problmes-lis-la-rplication-ad-pertinent-si-plusieurs-dc-8" class="anchor" href="#p-34548-problmes-lis-la-rplication-ad-pertinent-si-plusieurs-dc-8" aria-label="Heading link"></a>Problèmes liés à la réplication AD (pertinent si plusieurs DC)</h2>
<p>Si votre environnement comporte <strong>plusieurs contrôleurs de domaine</strong>, la durée maximale sans problème est également liée à la <strong>Tombstone Lifetime</strong> pour la réplication.</p>
<p>Un DC qui n’a pas répliqué depuis plus longtemps que la TSL entre en état <strong>USN Rollback</strong> ou <strong>lingering objects</strong>, ce qui peut causer des incohérences dans l’annuaire.</p>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Vérifier l'état de réplication entre DCs
repadmin /showrepl
Vérifier les erreurs de réplication
repadmin /replsummary
Voir les dernières réplications réussies
repadmin /showrepl * /csv > C:\replication_report.csv
</code></pre>
<h2><a name="p-34548-rsoudre-le-problme-le-canal-scuris-a-t-interrompu-9" class="anchor" href="#p-34548-rsoudre-le-problme-le-canal-scuris-a-t-interrompu-9" aria-label="Heading link"></a>Résoudre le problème “Le canal sécurisé a été interrompu”</h2>
<p>Si un ordinateur a été éteint trop longtemps et ne peut plus s’authentifier au domaine, le symptôme typique est l’erreur :</p>
<pre><code class="lang-auto">The trust relationship between this workstation and the primary domain failed.
(La relation d'approbation entre ce poste de travail et le domaine principal a échoué.)
</code></pre>
<h3><a name="p-34548-solution-1-rinitialisation-via-powershell-sans-quitter-le-domaine-10" class="anchor" href="#p-34548-solution-1-rinitialisation-via-powershell-sans-quitter-le-domaine-10" aria-label="Heading link"></a>Solution 1 : Réinitialisation via PowerShell (sans quitter le domaine)</h3>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Tester le canal sécurisé
Test-ComputerSecureChannel -Verbose
Réparer le canal sécurisé (exécuter en tant qu'administrateur de domaine)
Test-ComputerSecureChannel -Repair -Credential (Get-Credential "DOMAINE\Administrateur")
Alternative avec Reset-ComputerMachinePassword
Reset-ComputerMachinePassword -Server "NOM_DC" -Credential (Get-Credential)
</code></pre>
<h3><a name="p-34548-solution-2-rinitialisation-via-netdom-11" class="anchor" href="#p-34548-solution-2-rinitialisation-via-netdom-11" aria-label="Heading link"></a>Solution 2 : Réinitialisation via netdom</h3>
<pre data-code-wrap="cmd"><code class="lang-cmd">:: Réinitialiser le mot de passe du compte machine
netdom resetpwd /server:NOM_DC /userd😃OMAINE\Administrateur /passwordd:*
:: Vérifier la connectivité au domaine
nltest /dsgetdc:NOMDOMAINE
nltest /sc_verify:NOMDOMAINE
</code></pre>
<h3><a name="p-34548-solution-3-rinitialisation-depuis-le-contrleur-de-domaine-12" class="anchor" href="#p-34548-solution-3-rinitialisation-depuis-le-contrleur-de-domaine-12" aria-label="Heading link"></a>Solution 3 : Réinitialisation depuis le contrôleur de domaine</h3>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Sur le DC, réinitialiser le mot de passe du compte machine
Set-ADComputer -Identity "NOM_ORDINATEUR" -Reset
Ou via l'outil graphique :
dsa.msc > Ordinateurs > Clic droit sur l'objet > Réinitialiser le compte
</code></pre>
<h2><a name="p-34548-bonnes-pratiques-pour-les-ordinateurs-rarement-utiliss-13" class="anchor" href="#p-34548-bonnes-pratiques-pour-les-ordinateurs-rarement-utiliss-13" aria-label="Heading link"></a>Bonnes pratiques pour les ordinateurs rarement utilisés</h2>
<h3><a name="p-34548-dsactiver-le-renouvellement-automatique-du-mot-de-passe-scnarios-spcifiques-14" class="anchor" href="#p-34548-dsactiver-le-renouvellement-automatique-du-mot-de-passe-scnarios-spcifiques-14" aria-label="Heading link"></a>Désactiver le renouvellement automatique du mot de passe (scénarios spécifiques)</h3>
<p>Pour des ordinateurs qui sont régulièrement éteints pendant de longues périodes (postes saisonniers, laboratoires, etc.) :</p>
<pre><code class="lang-auto">Stratégie de groupe :
Configuration ordinateur > Paramètres Windows > Paramètres de sécurité >
Stratégies locales > Options de sécurité
Paramètre : "Membre de domaine : désactiver les changements de mot de passe du compte ordinateur"
Valeur : Activé
</code></pre>
<blockquote>
<p><strong>Attention</strong> : Cette option réduit la sécurité. À utiliser uniquement dans des contextes justifiés et avec d’autres mesures compensatoires.</p>
</blockquote>
<h3><a name="p-34548-allonger-la-dure-de-vie-du-mot-de-passe-machine-15" class="anchor" href="#p-34548-allonger-la-dure-de-vie-du-mot-de-passe-machine-15" aria-label="Heading link"></a>Allonger la durée de vie du mot de passe machine</h3>
<pre><code class="lang-auto">Stratégie de groupe :
Configuration ordinateur > Paramètres Windows > Paramètres de sécurité >
Stratégies locales > Options de sécurité
Paramètre : "Membre de domaine : ancienneté maximale du mot de passe du compte ordinateur"
Valeur : 0 (infini) ou une valeur en jours supérieure à 30
</code></pre>
<h3><a name="p-34548-surveiller-les-comptes-machines-inactifs-16" class="anchor" href="#p-34548-surveiller-les-comptes-machines-inactifs-16" aria-label="Heading link"></a>Surveiller les comptes machines inactifs</h3>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Script de surveillance : lister les machines inactives depuis plus de X jours
param([int]$DaysInactive = 90)
$threshold = (Get-Date).AddDays(-$DaysInactive)
$inactiveComputers = Get-ADComputer -Filter {LastLogonDate -lt $threshold -and Enabled -eq $true} `
-Properties LastLogonDate, PasswordLastSet, OperatingSystem |
Select-Object Name, LastLogonDate, PasswordLastSet, OperatingSystem |
Sort-Object LastLogonDate
$inactiveComputers | Format-Table -AutoSize
Write-Host "Total des machines inactives : $($inactiveComputers.Count)" -ForegroundColor Yellow
</code></pre>
<h2><a name="p-34548-rsum-pratique-17" class="anchor" href="#p-34548-rsum-pratique-17" aria-label="Heading link"></a>Résumé pratique</h2>
<p>Pour répondre directement à votre question :</p>
<ul>
<li><strong>Moins de 30 jours</strong> : aucun problème, redémarrage normal</li>
<li><strong>Entre 30 et 180 jours</strong> : le renouvellement automatique se fait au démarrage, mais surveiller les éventuelles erreurs de canal sécurisé</li>
<li><strong>Plus de 180 jours</strong> : risque réel de problèmes d’authentification — prévoir de tester le canal sécurisé avant de déployer la machine en production</li>
<li><strong>Plus d’un an</strong> : réinitialisation du compte machine quasi systématiquement nécessaire</li>
</ul>
<p>N’hésitez pas à me préciser votre version de Windows Server, le nombre de contrôleurs de domaine dans votre environnement, et si les machines concernées sont des postes fixes, des ordinateurs portables ou des machines virtuelles — je pourrai ainsi affiner les recommandations en fonction de votre architecture.</p>