Interprétation du siècle pour l’an 2000
Vérifié avec Windows 11 25H2 — mis à jour le 30 juillet 2026
Pris en charge sur : Au minimum Windows 2000
Chemin dans la console GPO
Configuration utilisateur\Modèles d'administration\Système Description
Ce paramètre de stratégie détermine la manière dont les programmes interprètent les années sur deux chiffres. Ce paramètre de stratégie n’a d’incidence que sur les programmes utilisant la fonction Windows d’interprétation des années sur deux chiffres. Si un programme n’interprète pas les années sur deux chiffres correctement, consultez la documentation ou l’éditeur du programme. Si vous activez ce paramètre de stratégie, le système spécifie l’année à deux chiffres la plus grande interprétée comme étant précédée par 20. Tous les nombres inférieurs ou égaux à la valeur spécifiée sont interprétés comme étant précédés par 20. Tous les nombres supérieurs à la valeur spécifiée sont interprétés comme étant précédés par 19. Par exemple, la valeur par défaut, 2029, spécifie que toutes les années sur deux chiffres inférieures ou égales à 29 (00 à 29) sont interprétées comme étant précédées par 20, c’est-à-dire 2000 à 2029. Inversement, toutes les années supérieures à 29 (30 à 99) sont interprétées comme étant précédées par 19, c’est-à-dire, 1930 à 1999. Si vous désactivez ce paramètre de stratégie ou ne le configurez pas, Windows n’interprète pas les années à deux chiffres en utilisant ce schéma pour le programme.
Registre
Software\Policies\Microsoft\Control Panel\International\Calendars\TwoDigitYearMax MDM / Intune (CSP)
./User/Vendor/MSFT/Policy/Config/ADMX_Globalization/Y2K 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: Interprétation du siècle pour l’an 2000
; State: Enabled
; Supported on: Au minimum Windows 2000
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Control Panel\International\Calendars\TwoDigitYearMax]
"1"=dword:000007ed Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Interprétation du siècle pour l’an 2000
# State: Enabled
# Supported on: Au minimum Windows 2000
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\Software\Policies\Microsoft\Control Panel\International\Calendars\TwoDigitYearMax'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name '1' -Value 2029 -Type DWord Intune XML
OMA-URI: ./User/Vendor/MSFT/Policy/Config/ADMX_Globalization/Y2K
Data type: String
Value:
<enabled/>
<data id="Y2KYear" value="2029"/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Interprétation du siècle pour l’an 2000
# State: Enabled
# Supported on: Au minimum Windows 2000
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
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 'HKCU:\Software\Policies\Microsoft\Control Panel\International\Calendars\TwoDigitYearMax' -Name '1' -Expected 2029 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Interprétation du siècle pour l’an 2000
# State: Enabled
# Supported on: Au minimum Windows 2000
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\Software\Policies\Microsoft\Control Panel\International\Calendars\TwoDigitYearMax'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name '1' -Value 2029 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Interprétation du siècle pour l’an 2000
# State: Enabled
# Supported on: Au minimum Windows 2000
# 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: Interprétation du siècle pour l’an 2000
# State: Enabled
# Supported on: Au minimum Windows 2000
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
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 'HKCU:\Software\Policies\Microsoft\Control Panel\International\Calendars\TwoDigitYearMax' -Name '1' -Expected 2029 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Interprétation du siècle pour l’an 2000
# State: Enabled
# Supported on: Au minimum Windows 2000
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\Software\Policies\Microsoft\Control Panel\International\Calendars\TwoDigitYearMax'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name '1' -Value 2029 -Type DWord Vous construisez une collection multi-paramètres ? Ajoutez ce paramètre et générez des exports combinés (.reg, PowerShell, GPO).