Empêcher les iFilters indésirables et les gestionnaires de protocole
Vérifié avec Windows 11 25H2 — mis à jour le 29 juillet 2026
Pris en charge sur : Microsoft Windows XP, Windows Server 2003 avec Windows Search version 3.01 ou toute version de Microsoft Windows avec Windows Search 4.0
Chemin dans la console GPO
Configuration ordinateur\Modèles d'administration\Composants Windows\Rechercher Description
L’activation de cette stratégie empêche Windows Search d’utiliser des iFilters et des gestionnaires de protocole sauf s’ils sont spécifiés dans la liste verte. Toutefois, cette stratégie n’empêche pas l’installation des iFilters ou gestionnaires de protocole, ni leur utilisation par d’autres applications ou services. Vous pouvez également spécifier une liste verte de compléments en indiquant la chaîne classID ou ProgId. Par exemple, si vous envisagez de déployer un iFilter particulier, assurez-vous qu’il figure dans la liste verte, sous forme d’un GUID tel que {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} (inclure les accolades) ou d’un ProgID tel que VisFilter.CFilter.1. Si votre environnement de bureau est verrouillé, ce paramètre est redondant car les utilisateurs non administratifs ne sont pas autorisés à installer de nouveaux composants. Si vos utilisateurs disposent d’autorisations Administrateur ou peuvent installer des logiciels, cette stratégie les empêche d’utiliser spécifiquement les compléments relatifs à Windows Search. Remarque : en raison d’une limitation au niveau de l’éditeur de stratégie de groupe, vous devez ajouter au moins une entrée dans la liste verte, même si vous voulez activer cette stratégie sans liste verte. Créez une entrée de liste en insérant un espace dans le champ du nom et un espace dans le champ de valeur, puis enregistrez-la. Cela crée une entrée d’espace réservé ignorée par le programme.
Registre
SOFTWARE\Policies\Microsoft\Windows\Windows Search 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: Empêcher les iFilters indésirables et les gestionnaires de protocole
; State: Enabled
; Supported on: Microsoft Windows XP, Windows Server 2003 avec Windows Search version 3.01 ou toute version de Microsoft Windows avec Windows Search 4.0
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search\PreventUnwantedAddins]
; List values: enter one value per line in the builder UI. Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Empêcher les iFilters indésirables et les gestionnaires de protocole
# State: Enabled
# Supported on: Microsoft Windows XP, Windows Server 2003 avec Windows Search version 3.01 ou toute version de Microsoft Windows avec Windows Search 4.0
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search\PreventUnwantedAddins'
New-Item -Path $path -Force | Out-Null
# List values: enter one value per line in the builder UI. Intune XML
Aucune correspondance directe Policy CSP / OMA-URI pour cette stratégie. Utilisez l'onglet Intune Remediation, ou importez l'ADMX dans Intune. Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Empêcher les iFilters indésirables et les gestionnaires de protocole
# State: Enabled
# Supported on: Microsoft Windows XP, Windows Server 2003 avec Windows Search version 3.01 ou toute version de Microsoft Windows avec Windows Search 4.0
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
}
# HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search\PreventUnwantedAddins: List values: enter one value per line in the builder UI.
# No testable registry values are available for this state.
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Empêcher les iFilters indésirables et les gestionnaires de protocole
# State: Enabled
# Supported on: Microsoft Windows XP, Windows Server 2003 avec Windows Search version 3.01 ou toute version de Microsoft Windows avec Windows Search 4.0
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search\PreventUnwantedAddins'
New-Item -Path $path -Force | Out-Null
# List values: enter one value per line in the builder UI. Scripts SCCM
# Exported from gporais.com
# Policy: Empêcher les iFilters indésirables et les gestionnaires de protocole
# State: Enabled
# Supported on: Microsoft Windows XP, Windows Server 2003 avec Windows Search version 3.01 ou toute version de Microsoft Windows avec Windows Search 4.0
# 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: Empêcher les iFilters indésirables et les gestionnaires de protocole
# State: Enabled
# Supported on: Microsoft Windows XP, Windows Server 2003 avec Windows Search version 3.01 ou toute version de Microsoft Windows avec Windows Search 4.0
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
}
# HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search\PreventUnwantedAddins: List values: enter one value per line in the builder UI.
# No testable registry values are available for this state.
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Empêcher les iFilters indésirables et les gestionnaires de protocole
# State: Enabled
# Supported on: Microsoft Windows XP, Windows Server 2003 avec Windows Search version 3.01 ou toute version de Microsoft Windows avec Windows Search 4.0
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search\PreventUnwantedAddins'
New-Item -Path $path -Force | Out-Null
# List values: enter one value per line in the builder UI. Vous construisez une collection multi-paramètres ? Ajoutez ce paramètre et générez des exports combinés (.reg, PowerShell, GPO).