Configurez le système pour qu’il utilise le paramètre Paramètres de prévention des attaques de dictionnaire pour TPM 2.0.
Vérifié avec Windows 11 25H2 — mis à jour le 30 juillet 2026
Pris en charge sur : Windows Server 2016, Windows 10 version 1703 ou versions supérieures
Chemin dans la console GPO
Configuration ordinateur\Modèles d'administration\Système\Services de module de plateforme sécurisée Description
Ce paramètre de stratégie configure le module de plateforme sécurisée (TPM) afin qu’il utilise les paramètres de prévention d’attaque par dictionnaire (seuil de verrouillage et temps de récupération) avec les valeurs définies pour Windows 10 Version 1607 et inférieure. La configuration de cette stratégie entre uniquement en vigueur dans les cas suivants : a) le TPM a été préparé à l’origine à l’aide d’une version ultérieure à Windows 10 Version 1607 et b) le système est équipe d’un TPM 2.0. L’activation du paramètre de cette stratégie prend uniquement effet une fois la tâche de maintenance TPM effectuée (celle-ci a généralement lieu après un redémarrage système). Lorsque cette stratégie est activée et effective après le redémarrage système, sa désactivation n’a aucun impact et le TPM du système reste configuré à l’aide des paramètres de prévention d’attaque par dictionnaire, quelle que soit la valeur de cette stratégie de groupe. Pour réactiver ce paramètre de stratégie précédemment désactivé, sur un système vous pouvez a) le désactiver dans la stratégie de groupe ou b) effacer le TPM du système.
Registre
Software\Policies\Microsoft\TPM Nom de valeur : UseLegacyDictionaryAttackParameters
Activé : UseLegacyDictionaryAttackParameters = 1
Désactivé : UseLegacyDictionaryAttackParameters = 0
MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/ADMX_TPM/UseLegacyDAP_Name Documentation Microsoft Learn Données de correspondance : Microsoft Learn (CC BY 4.0)
Générateur d'exports
BETAConfigurez l'état, la portée et les options, puis générez les sorties .reg, PowerShell, Intune et SCCM — ou ajoutez le paramètre à une collection multi-paramètres.
Ces exports écrivent le registre — ce n'est pas une GPO managée. ⓘ
Fichier .reg
Windows Registry Editor Version 5.00
; Exported from gporais.com
; Policy: Configurez le système pour qu’il utilise le paramètre Paramètres de prévention des attaques de dictionnaire pour TPM 2.0.
; State: Enabled
; Supported on: Windows Server 2016, Windows 10 version 1703 ou versions supérieures
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\TPM]
"UseLegacyDictionaryAttackParameters"=dword:00000001 Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Configurez le système pour qu’il utilise le paramètre Paramètres de prévention des attaques de dictionnaire pour TPM 2.0.
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1703 ou versions supérieures
$path = 'HKLM:\Software\Policies\Microsoft\TPM'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'UseLegacyDictionaryAttackParameters' -Value 1 -Type DWord Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/ADMX_TPM/UseLegacyDAP_Name
Data type: String
Value:
<enabled/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Configurez le système pour qu’il utilise le paramètre Paramètres de prévention des attaques de dictionnaire pour TPM 2.0.
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1703 ou versions supérieures
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\TPM' -Name 'UseLegacyDictionaryAttackParameters' -Expected 1 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Configurez le système pour qu’il utilise le paramètre Paramètres de prévention des attaques de dictionnaire pour TPM 2.0.
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1703 ou versions supérieures
$path = 'HKLM:\Software\Policies\Microsoft\TPM'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'UseLegacyDictionaryAttackParameters' -Value 1 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Configurez le système pour qu’il utilise le paramètre Paramètres de prévention des attaques de dictionnaire pour TPM 2.0.
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1703 ou versions supérieures
# SCCM Configuration Item guidance:
# Create a Configuration Item of type "Setting: Script".
# Discovery script: use the Detection script below.
# Remediation script: use the Remediation script below.
# Compliance rule: the Discovery script output equals 'Compliant'.
# === Detection script ===
# Exported from gporais.com
# Policy: Configurez le système pour qu’il utilise le paramètre Paramètres de prévention des attaques de dictionnaire pour TPM 2.0.
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1703 ou versions supérieures
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\TPM' -Name 'UseLegacyDictionaryAttackParameters' -Expected 1 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Configurez le système pour qu’il utilise le paramètre Paramètres de prévention des attaques de dictionnaire pour TPM 2.0.
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1703 ou versions supérieures
$path = 'HKLM:\Software\Policies\Microsoft\TPM'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'UseLegacyDictionaryAttackParameters' -Value 1 -Type DWord Vous construisez une collection multi-paramètres ? Ajoutez ce paramètre et générez des exports combinés (.reg, PowerShell, GPO).