Configurer la détection pour les applications potentiellement indésirables
Vérifié avec Windows 11 25H2 — mis à jour le 30 juillet 2026
Pris en charge sur : Windows Server 2016, Windows 10 version 1607 ou versions supérieures
Chemin dans la console GPO
Configuration ordinateur\Modèles d'administration\Composants Windows\Antivirus Microsoft Defender Description
Activer ou désactiver la détection pour les applications potentiellement indésirables. Vous pouvez choisir de bloquer, d'auditer ou d'autoriser lorsque des logiciels potentiellement indésirables sont téléchargés ou tentent de s'installer sur votre ordinateur. Activé : Spécifiez le mode dans la section Options : -Bloquer : les logiciels potentiellement indésirables seront bloqués. -Mode d'audit : les logiciels potentiellement indésirables ne seront pas bloqués, mais si cette fonctionnalité avait bloqué l'accès si elle était définie sur Bloquer, un enregistrement de l'événement figurerait dans les journaux des événements. Désactivé : Les logiciels potentiellement indésirables ne seront pas bloqués. Non configuré : Identique à Désactivé.
Registre
Software\Policies\Microsoft\Windows Defender Nom de valeur : PUAProtection
MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/Defender/PUAProtection Documentation Microsoft Learn Données de correspondance : Microsoft Learn (CC BY 4.0)
Valeurs CSP
-
0 (Default)- PUA Protection off. Windows Defender won't protect against potentially unwanted applications. -
1- PUA Protection on. Detected items are blocked. They will show in history along with other threats. -
2- Audit mode. Windows Defender will detect potentially unwanted applications, but take no action. You can review information about the applications Windows Defender would've taken action against by searching for events created by Windows Defender in the Event Viewer.
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 la détection pour les applications potentiellement indésirables
; State: Enabled
; Supported on: Windows Server 2016, Windows 10 version 1607 ou versions supérieures
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows Defender]
"PUAProtection"=dword:00000001
"PUAProtection"=dword:00000000 Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Configurer la détection pour les applications potentiellement indésirables
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1607 ou versions supérieures
$path = 'HKLM:\Software\Policies\Microsoft\Windows Defender'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'PUAProtection' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'PUAProtection' -Value 0 -Type DWord Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/Defender/PUAProtection
Data type: String
Value:
<enabled/>
<data id="Root_PUAProtection" value="0"/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Configurer la détection pour les applications potentiellement indésirables
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1607 ou versions supérieures
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 Defender' -Name 'PUAProtection' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows Defender' -Name 'PUAProtection' -Expected 0 -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 la détection pour les applications potentiellement indésirables
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1607 ou versions supérieures
$path = 'HKLM:\Software\Policies\Microsoft\Windows Defender'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'PUAProtection' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'PUAProtection' -Value 0 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Configurer la détection pour les applications potentiellement indésirables
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1607 ou versions supérieures
# 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 la détection pour les applications potentiellement indésirables
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1607 ou versions supérieures
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 Defender' -Name 'PUAProtection' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows Defender' -Name 'PUAProtection' -Expected 0 -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 la détection pour les applications potentiellement indésirables
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1607 ou versions supérieures
$path = 'HKLM:\Software\Policies\Microsoft\Windows Defender'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'PUAProtection' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'PUAProtection' -Value 0 -Type DWord Vous construisez une collection multi-paramètres ? Ajoutez ce paramètre et générez des exports combinés (.reg, PowerShell, GPO).