Activer l’horodatage permanent
Vérifié avec Windows 11 25H2 — mis à jour le 30 juillet 2026
Pris en charge sur : Au minimum Windows Server 2003
Chemin dans la console GPO
Configuration ordinateur\Modèles d'administration\Système Description
Ce paramètre de stratégie permet au système de détecter l’heure des arrêts imprévus en écrivant l’heure actuelle sur le disque à la fréquence définie par l’intervalle d’horodatage. Si vous activez ce paramètre de stratégie, vous pouvez indiquer la fréquence d’actualisation de l’horodatage système permanent et d’enregistrement sur le disque. Vous pouvez indiquer l’intervalle d’horodatage en secondes. Si vous désactivez ce paramètre de stratégie, l’horodatage système permanent est désactivé et l’heure des arrêts imprévus n’est pas enregistré. Si vous ne configurez pas ce paramètre de stratégie, l’horodatage système permanent est actualisé en fonction de la valeur par défaut, à savoir toutes les 60 secondes, à partir de Windows Server 2003. Remarque : cette fonctionnalité peut interférer avec les paramètres de configuration de l’alimentation qui désactivent les disques durs après une période d’inactivité. Ces paramètres d’alimentation sont accessibles via l’application Options d’alimentation du Panneau de configuration.
Registre
Software\Policies\Microsoft\Windows NT\Reliability Nom de valeur : TimeStampEnabled
Activé : TimeStampEnabled = 1
Désactivé : TimeStampEnabled = 0
MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/ADMX_Reliability/EE_EnablePersistentTimeStamp 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: Activer l’horodatage permanent
; State: Enabled
; Supported on: Au minimum Windows Server 2003
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Reliability]
"TimeStampEnabled"=dword:00000001
"TimeStampInterval"=dword:0000003c Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Activer l’horodatage permanent
# State: Enabled
# Supported on: Au minimum Windows Server 2003
$path = 'HKLM:\Software\Policies\Microsoft\Windows NT\Reliability'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'TimeStampEnabled' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'TimeStampInterval' -Value 60 -Type DWord Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/ADMX_Reliability/EE_EnablePersistentTimeStamp
Data type: String
Value:
<enabled/>
<data id="EE_EnablePersistentTimeStamp_Desc4" value="60"/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Activer l’horodatage permanent
# State: Enabled
# Supported on: Au minimum Windows Server 2003
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 NT\Reliability' -Name 'TimeStampEnabled' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Reliability' -Name 'TimeStampInterval' -Expected 60 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Activer l’horodatage permanent
# State: Enabled
# Supported on: Au minimum Windows Server 2003
$path = 'HKLM:\Software\Policies\Microsoft\Windows NT\Reliability'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'TimeStampEnabled' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'TimeStampInterval' -Value 60 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Activer l’horodatage permanent
# State: Enabled
# Supported on: Au minimum Windows Server 2003
# 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: Activer l’horodatage permanent
# State: Enabled
# Supported on: Au minimum Windows Server 2003
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 NT\Reliability' -Name 'TimeStampEnabled' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Reliability' -Name 'TimeStampInterval' -Expected 60 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Activer l’horodatage permanent
# State: Enabled
# Supported on: Au minimum Windows Server 2003
$path = 'HKLM:\Software\Policies\Microsoft\Windows NT\Reliability'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'TimeStampEnabled' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'TimeStampInterval' -Value 60 -Type DWord Vous construisez une collection multi-paramètres ? Ajoutez ce paramètre et générez des exports combinés (.reg, PowerShell, GPO).