Ne pas autoriser le renvoi de codes confidentiels en texte brut par le Gestionnaire d’informations d’identification
Vérifié avec Windows 11 25H2 — mis à jour le 30 juillet 2026
Pris en charge sur : Au minimum Windows Vista Service Pack 1
Chemin dans la console GPO
Configuration ordinateur\Modèles d'administration\Composants Windows\Carte à puce Description
Ce paramètre de stratégie interdit le renvoi des codes PIN en texte brut par le Gestionnaire d’informations d’identification. Si vous activez ce paramètre de stratégie, alors le Gestionnaire d’informations d’identification ne renvoie pas de code PIN en texte brut. Si vous désactivez ce paramètre de stratégie ou ne le configurez pas, alors le Gestionnaire d’informations d’identification peut renvoyer des codes PIN en texte brut. Remarque : l’activation de ce paramètre de stratégie peut empêcher le fonctionnement de certaines cartes à puce avec Windows. Renseignez-vous auprès du fabricant de votre carte à puce en cas de doute sur l’utilisation de ce paramètre de stratégie.
Registre
SOFTWARE\Policies\Microsoft\Windows\SmartCardCredentialProvider Nom de valeur : DisallowPlaintextPin
Activé : DisallowPlaintextPin = 1
Désactivé : DisallowPlaintextPin = 0
MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/ADMX_Smartcard/DisallowPlaintextPin 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: Ne pas autoriser le renvoi de codes confidentiels en texte brut par le Gestionnaire d’informations d’identification
; State: Enabled
; Supported on: Au minimum Windows Vista Service Pack 1
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\SmartCardCredentialProvider]
"DisallowPlaintextPin"=dword:00000001 Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Ne pas autoriser le renvoi de codes confidentiels en texte brut par le Gestionnaire d’informations d’identification
# State: Enabled
# Supported on: Au minimum Windows Vista Service Pack 1
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\SmartCardCredentialProvider'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'DisallowPlaintextPin' -Value 1 -Type DWord Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/ADMX_Smartcard/DisallowPlaintextPin
Data type: String
Value:
<enabled/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Ne pas autoriser le renvoi de codes confidentiels en texte brut par le Gestionnaire d’informations d’identification
# State: Enabled
# Supported on: Au minimum Windows Vista Service Pack 1
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\Windows\SmartCardCredentialProvider' -Name 'DisallowPlaintextPin' -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: Ne pas autoriser le renvoi de codes confidentiels en texte brut par le Gestionnaire d’informations d’identification
# State: Enabled
# Supported on: Au minimum Windows Vista Service Pack 1
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\SmartCardCredentialProvider'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'DisallowPlaintextPin' -Value 1 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Ne pas autoriser le renvoi de codes confidentiels en texte brut par le Gestionnaire d’informations d’identification
# State: Enabled
# Supported on: Au minimum Windows Vista Service Pack 1
# 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: Ne pas autoriser le renvoi de codes confidentiels en texte brut par le Gestionnaire d’informations d’identification
# State: Enabled
# Supported on: Au minimum Windows Vista Service Pack 1
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\Windows\SmartCardCredentialProvider' -Name 'DisallowPlaintextPin' -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: Ne pas autoriser le renvoi de codes confidentiels en texte brut par le Gestionnaire d’informations d’identification
# State: Enabled
# Supported on: Au minimum Windows Vista Service Pack 1
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\SmartCardCredentialProvider'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'DisallowPlaintextPin' -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).