Désactiver le mode protégé du protocole noyau
Vérifié avec Windows 11 25H2 — mis à jour le 30 juillet 2026
Pris en charge sur : Au minimum Windows XP Professionnel avec SP2
Chemin dans la console GPO
Configuration ordinateur\Modèles d'administration\Composants Windows\Explorateur de fichiers Description
Ce paramètre de stratégie permet de configurer les fonctionnalités dont peut disposer le protocole noyau. Lorsqu’elles utilisent l’intégralité des fonctionnalités de ce protocole, les applications peuvent ouvrir des dossiers et exécuter des applications. Le mode protégé réduit les fonctionnalités de ce protocole et n’autorise les applications qu’à ouvrir un nombre limité de dossiers. Les applications ne peuvent pas ouvrir de fichiers en utilisant ce protocole s’il est en mode protégé. Nous vous recommandons de laisser ce protocole en mode protégé pour accroître la sécurité de Windows. Si vous activez ce paramètre de stratégie, le protocole sera complètement activé et autorisera l’ouverture des dossiers et des fichiers. Si vous le désactivez, le protocole sera en mode protégé et autorisera les applications à ouvrir uniquement un nombre limité de dossiers. Si vous ne le configurez pas, le protocole sera en mode protégé et autorisera les applications à ouvrir uniquement un nombre limité de dossiers.
Registre
Software\Microsoft\Windows\CurrentVersion\Policies\Explorer Nom de valeur : PreXPSP2ShellProtocolBehavior
Activé : PreXPSP2ShellProtocolBehavior = 1
Désactivé : PreXPSP2ShellProtocolBehavior = 0
MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/ADMX_WindowsExplorer/ShellProtocolProtectedModeTitle_2 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: Désactiver le mode protégé du protocole noyau
; State: Enabled
; Supported on: Au minimum Windows XP Professionnel avec SP2
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"PreXPSP2ShellProtocolBehavior"=dword:00000001 Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Désactiver le mode protégé du protocole noyau
# State: Enabled
# Supported on: Au minimum Windows XP Professionnel avec SP2
$path = 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'PreXPSP2ShellProtocolBehavior' -Value 1 -Type DWord Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/ADMX_WindowsExplorer/ShellProtocolProtectedModeTitle_2
Data type: String
Value:
<enabled/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Désactiver le mode protégé du protocole noyau
# State: Enabled
# Supported on: Au minimum Windows XP Professionnel avec SP2
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\Microsoft\Windows\CurrentVersion\Policies\Explorer' -Name 'PreXPSP2ShellProtocolBehavior' -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: Désactiver le mode protégé du protocole noyau
# State: Enabled
# Supported on: Au minimum Windows XP Professionnel avec SP2
$path = 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'PreXPSP2ShellProtocolBehavior' -Value 1 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Désactiver le mode protégé du protocole noyau
# State: Enabled
# Supported on: Au minimum Windows XP Professionnel avec SP2
# 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: Désactiver le mode protégé du protocole noyau
# State: Enabled
# Supported on: Au minimum Windows XP Professionnel avec SP2
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\Microsoft\Windows\CurrentVersion\Policies\Explorer' -Name 'PreXPSP2ShellProtocolBehavior' -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: Désactiver le mode protégé du protocole noyau
# State: Enabled
# Supported on: Au minimum Windows XP Professionnel avec SP2
$path = 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'PreXPSP2ShellProtocolBehavior' -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).