Configurer le contrôle d'installation des applications
Vérifié avec Windows 11 25H2 — mis à jour le 30 juillet 2026
Pris en charge sur : Windows Server 2016, Windows 10 version 1809 ou versions supérieures
Chemin dans la console GPO
Configuration ordinateur\Modèles d'administration\Composants Windows\Windows Defender SmartScreen\Explorateur Description
Le contrôle d'installation des applications est une fonction de Windows Defender SmartScreen qui contribue à la protection de vos PC en autorisant les utilisateurs à installer des applications uniquement à partir du Store. SmartScreen doit être activé pour le bon fonctionnement de cette fonction. Si vous activez ce paramètre, les utilisateurs doivent choisir parmi les comportements suivants : - Désactiver les recommandations de l'application - Afficher les recommandations de l'application - M'avertir avant d'installer des applications provenant d'une autre source que le Store - Autoriser les applications du Store uniquement Si vous désactivez ou ne configurez pas ce paramètre, les utilisateurs pourront installer des applications à partir de n'importe quelle source, notamment des fichiers téléchargés depuis Internet.
Registre
Software\Policies\Microsoft\Windows Defender\SmartScreen Nom de valeur : ConfigureAppInstallControlEnabled
Activé : ConfigureAppInstallControlEnabled = 1
Désactivé : ConfigureAppInstallControlEnabled = 0
MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/SmartScreen/EnableAppInstallControl Documentation Microsoft Learn Données de correspondance : Microsoft Learn (CC BY 4.0)
Valeurs CSP
-
0 (Default)- Turns off Application Installation Control, allowing users to download and install files from anywhere on the web. -
1- Turns on Application Installation Control, allowing users to only install apps from the Store. -
2- Turns on Application Installation Control, letting users know that there's a comparable app in the Store. -
3- Turns on Application Installation Control, warning users before installing apps from outside the Store.
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 contrôle d'installation des applications
; State: Enabled
; Supported on: Windows Server 2016, Windows 10 version 1809 ou versions supérieures
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows Defender\SmartScreen]
"ConfigureAppInstallControlEnabled"=dword:00000001
"ConfigureAppInstallControl"="Anywhere" Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Configurer le contrôle d'installation des applications
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1809 ou versions supérieures
$path = 'HKLM:\Software\Policies\Microsoft\Windows Defender\SmartScreen'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'ConfigureAppInstallControlEnabled' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'ConfigureAppInstallControl' -Value 'Anywhere' -Type String Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/SmartScreen/EnableAppInstallControl
Data type: String
Value:
<enabled/>
<data id="ConfigureAppInstallControl_Dropdown" value="Anywhere"/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Configurer le contrôle d'installation des applications
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1809 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\SmartScreen' -Name 'ConfigureAppInstallControlEnabled' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows Defender\SmartScreen' -Name 'ConfigureAppInstallControl' -Expected 'Anywhere' -Kind String)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Configurer le contrôle d'installation des applications
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1809 ou versions supérieures
$path = 'HKLM:\Software\Policies\Microsoft\Windows Defender\SmartScreen'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'ConfigureAppInstallControlEnabled' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'ConfigureAppInstallControl' -Value 'Anywhere' -Type String Scripts SCCM
# Exported from gporais.com
# Policy: Configurer le contrôle d'installation des applications
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1809 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 le contrôle d'installation des applications
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1809 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\SmartScreen' -Name 'ConfigureAppInstallControlEnabled' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows Defender\SmartScreen' -Name 'ConfigureAppInstallControl' -Expected 'Anywhere' -Kind String)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Configurer le contrôle d'installation des applications
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1809 ou versions supérieures
$path = 'HKLM:\Software\Policies\Microsoft\Windows Defender\SmartScreen'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'ConfigureAppInstallControlEnabled' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'ConfigureAppInstallControl' -Value 'Anywhere' -Type String Vous construisez une collection multi-paramètres ? Ajoutez ce paramètre et générez des exports combinés (.reg, PowerShell, GPO).