Configurer le comportement de la maintenance planifiée
Vérifié avec Windows 11 25H2 — mis à jour le 30 juillet 2026
Pris en charge sur : Au minimum Windows Server 2008 R2 ou Windows 7
Chemin dans la console GPO
Configuration ordinateur\Modèles d'administration\Système\Dépannage et diagnostics\Maintenance planifiée Description
Détermine si les diagnostics planifiés seront exécutés afin de détecter et de résoudre, de façon proactive, les problèmes liés au système. Si vous activez ce paramètre de stratégie, vous devez choisir un niveau d'exécution. Si vous optez pour la détection et le dépannage seulement, Windows vérifiera les erreurs de dysfonctionnement de façon périodique. Les problèmes détectés seront signalés à l'utilisateur en vue d'une résolution interactive. Si vous optez pour la détection, le dépannage et la résolution, Windows se chargera de trouver une solution aux problèmes sans demander l'intervention de l'utilisateur. Si vous désactivez ce paramètre de stratégie, Windows ne sera pas en mesure de détecter et de résoudre les problèmes avec ou sans votre intervention selon le calendrier prévu. Si vous ne configurez pas ce paramètre de stratégie, les préférences en matière de dépannage local (telles qu'elles sont définies dans le Panneau de configuration) seront prioritaires. Si aucune préférence de ce type n'est configurée, les diagnostics planifiés sont activés pour assurer la détection et la résolution des problèmes par défaut. Il n'est pas nécessaire de redémarrer l'ordinateur ou les services appropriés pour que cette stratégie soit prise en compte : les modifications prennent effet immédiatement. Ce paramètre de stratégie est appliqué à condition que le service Planificateur de tâches soit en cours d'exécution. En cas d'arrêt ou de désactivation de ce service, les diagnostics planifiés ne sont pas exécutés. Le service Planificateur de tâches peut être configuré au moyen du composant logiciel enfichable Services dans Microsoft Management Console.
Registre
SOFTWARE\Policies\Microsoft\Windows\ScheduledDiagnostics Nom de valeur : EnabledExecution
Activé : EnabledExecution = 1
Désactivé : EnabledExecution = 0
MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/ADMX_sdiagschd/ScheduledDiagnosticsExecutionPolicy 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: Configurer le comportement de la maintenance planifiée
; State: Enabled
; Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\ScheduledDiagnostics]
"EnabledExecution"=dword:00000001
"EnabledExecutionLevel"=dword:00000002 Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Configurer le comportement de la maintenance planifiée
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\ScheduledDiagnostics'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'EnabledExecution' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'EnabledExecutionLevel' -Value 2 -Type DWord Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/ADMX_sdiagschd/ScheduledDiagnosticsExecutionPolicy
Data type: String
Value:
<enabled/>
<data id="ScheduledDiagnosticsExecutionPolicyLevel" value="2"/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Configurer le comportement de la maintenance planifiée
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
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\ScheduledDiagnostics' -Name 'EnabledExecution' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\ScheduledDiagnostics' -Name 'EnabledExecutionLevel' -Expected 2 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Configurer le comportement de la maintenance planifiée
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\ScheduledDiagnostics'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'EnabledExecution' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'EnabledExecutionLevel' -Value 2 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Configurer le comportement de la maintenance planifiée
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
# 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: Configurer le comportement de la maintenance planifiée
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
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\ScheduledDiagnostics' -Name 'EnabledExecution' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\ScheduledDiagnostics' -Name 'EnabledExecutionLevel' -Expected 2 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Configurer le comportement de la maintenance planifiée
# State: Enabled
# Supported on: Au minimum Windows Server 2008 R2 ou Windows 7
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\ScheduledDiagnostics'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'EnabledExecution' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'EnabledExecutionLevel' -Value 2 -Type DWord Vous construisez une collection multi-paramètres ? Ajoutez ce paramètre et générez des exports combinés (.reg, PowerShell, GPO).