Diagnostics des disques : configurer le niveau d’exécution
Vérifié avec Windows 11 25H2 — mis à jour le 30 juillet 2026
Pris en charge sur : Windows Server 2008 avec Expérience utilisateur installé ou Windows Vista
Chemin dans la console GPO
Configuration ordinateur\Modèles d'administration\Système\Dépannage et diagnostics\Diagnostics des disques Description
Ce paramètre de stratégie détermine le niveau d’exécution des diagnostics des disques S.M.A.R.T. (Self-Monitoring And Reporting Technology). S.M.A.R.T. est un mécanisme standard permettant aux périphériques de stockage de signaler des défauts à Windows. Un disque qui signale un défaut S.M.A.R.T. doit éventuellement être réparé ou remplacé. Le service de stratégie de diagnostic détecte et enregistre les défauts S.M.A.R.T. dans le journal des événements lorsqu’ils se produisent. Si vous activez ce paramètre de stratégie, le service de stratégie de diagnostic signale également aux utilisateurs les défauts S.M.A.R.T. et les guide dans les procédures de sauvegarde et de récupération afin de minimiser les pertes de données potentielles. Si vous désactivez ce paramètre de stratégie, les défauts S.M.A.R.T. sont détectés et consignés, mais aucune mesure corrective n’est prise. Si vous ne configurez pas ce paramètre de stratégie, le service de stratégie de diagnostic active par défaut la résolution des défauts S.M.A.R.T. Ce paramètre de stratégie est appliqué uniquement si la stratégie d’exécution des scénario de diagnostics n’est pas configurée. Aucun redémarrage du système ou du service n’est requis pour que cette stratégie prenne effet : les modifications prennent effet immédiatement. Ce paramètre de stratégie ne s’applique que si le service de stratégie de diagnostic est en cours d’exécution. Lorsque le service est arrêté ou désactivé, les scénarios de diagnostic ne sont pas exécutés. Le service de stratégie de diagnostic peut être configuré avec le composant logiciel enfichable Services de Microsoft Management Console. Remarque : pour les systèmes Windows Server, ce paramètre de stratégie s’applique uniquement si le composant facultatif Expérience utilisateur est installé et si le rôle Services Bureau à distance n’est pas installé.
Registre
SOFTWARE\Policies\Microsoft\Windows\WDI\{29689E29-2CE9-4751-B4FC-8EFF5066E3FD} Cette stratégie définit plusieurs valeurs de registre :
ScenarioExecutionEnabled ScenarioExecutionEnabled = 1 ScenarioExecutionEnabled = 1 EnabledScenarioExecutionLevel EnabledScenarioExecutionLevel = 2 EnabledScenarioExecutionLevel = 1 MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/ADMX_DiskDiagnostic/WdiScenarioExecutionPolicy 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: Diagnostics des disques : configurer le niveau d’exécution
; State: Enabled
; Supported on: Windows Server 2008 avec Expérience utilisateur installé ou Windows Vista
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WDI\{29689E29-2CE9-4751-B4FC-8EFF5066E3FD}]
"ScenarioExecutionEnabled"=dword:00000001
"EnabledScenarioExecutionLevel"=dword:00000002 Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Diagnostics des disques : configurer le niveau d’exécution
# State: Enabled
# Supported on: Windows Server 2008 avec Expérience utilisateur installé ou Windows Vista
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WDI\{29689E29-2CE9-4751-B4FC-8EFF5066E3FD}'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'ScenarioExecutionEnabled' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'EnabledScenarioExecutionLevel' -Value 2 -Type DWord Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/ADMX_DiskDiagnostic/WdiScenarioExecutionPolicy
Data type: String
Value:
<enabled/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Diagnostics des disques : configurer le niveau d’exécution
# State: Enabled
# Supported on: Windows Server 2008 avec Expérience utilisateur installé ou Windows Vista
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\WDI\{29689E29-2CE9-4751-B4FC-8EFF5066E3FD}' -Name 'ScenarioExecutionEnabled' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WDI\{29689E29-2CE9-4751-B4FC-8EFF5066E3FD}' -Name 'EnabledScenarioExecutionLevel' -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: Diagnostics des disques : configurer le niveau d’exécution
# State: Enabled
# Supported on: Windows Server 2008 avec Expérience utilisateur installé ou Windows Vista
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WDI\{29689E29-2CE9-4751-B4FC-8EFF5066E3FD}'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'ScenarioExecutionEnabled' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'EnabledScenarioExecutionLevel' -Value 2 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Diagnostics des disques : configurer le niveau d’exécution
# State: Enabled
# Supported on: Windows Server 2008 avec Expérience utilisateur installé ou Windows Vista
# 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: Diagnostics des disques : configurer le niveau d’exécution
# State: Enabled
# Supported on: Windows Server 2008 avec Expérience utilisateur installé ou Windows Vista
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\WDI\{29689E29-2CE9-4751-B4FC-8EFF5066E3FD}' -Name 'ScenarioExecutionEnabled' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WDI\{29689E29-2CE9-4751-B4FC-8EFF5066E3FD}' -Name 'EnabledScenarioExecutionLevel' -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: Diagnostics des disques : configurer le niveau d’exécution
# State: Enabled
# Supported on: Windows Server 2008 avec Expérience utilisateur installé ou Windows Vista
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WDI\{29689E29-2CE9-4751-B4FC-8EFF5066E3FD}'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'ScenarioExecutionEnabled' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'EnabledScenarioExecutionLevel' -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).