Allow third-party browser extensions
Verified with Windows 11 25H2 — updated on July 23, 2026
Supported on: At least Internet Explorer 6.0 in Windows 2003 Service Pack 1
Path in the GPO console
Computer Configuration\Administrative Templates\Windows Components\Internet Explorer\Internet Control Panel\Advanced Page User Configuration\Administrative Templates\Windows Components\Internet Explorer\Internet Control Panel\Advanced Page Description
This policy setting allows you to manage whether Internet Explorer will launch COM add-ons known as browser helper objects, such as toolbars. Browser helper objects may contain flaws such as buffer overruns which impact Internet Explorer's performance or stability. If you enable this policy setting, Internet Explorer automatically launches any browser helper objects that are installed on the user's computer. If you disable this policy setting, browser helper objects do not launch. If you do not configure this policy, Internet Explorer automatically launches any browser helper objects that are installed on the user's computer.
Registry
Software\Policies\Microsoft\Internet Explorer\Main Software\Policies\Microsoft\Internet Explorer\Main Value name: Enable Browser Extensions
Enabled: Enable Browser Extensions = yes
Disabled: Enable Browser Extensions = no
Export Builder
BETAConfigure the state, scope and options, then generate .reg, PowerShell, Intune and SCCM outputs — or add the setting to a multi-setting collection.
These exports write the registry — this is not a managed GPO. ⓘ
Applying both scopes creates an ambiguous configuration (computer takes precedence over user). Only do this intentionally.
.reg file
Windows Registry Editor Version 5.00
; Exported from gporais.com
; Policy: Allow third-party browser extensions
; State: Enabled
; Scope: Computer (HKLM)
; Supported on: At least Internet Explorer 6.0 in Windows 2003 Service Pack 1
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Internet Explorer\Main]
"Enable Browser Extensions"="yes" More formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Allow third-party browser extensions
# State: Enabled
# Scope: Computer (HKLM)
# Supported on: At least Internet Explorer 6.0 in Windows 2003 Service Pack 1
$path = 'HKLM:\Software\Policies\Microsoft\Internet Explorer\Main'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'Enable Browser Extensions' -Value 'yes' -Type String Intune XML
No direct Policy CSP / OMA-URI mapping for this policy. Use the Intune Remediation tab, or ingest the ADMX in Intune. Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Allow third-party browser extensions
# State: Enabled
# Scope: Computer (HKLM)
# Supported on: At least Internet Explorer 6.0 in Windows 2003 Service Pack 1
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\Internet Explorer\Main' -Name 'Enable Browser Extensions' -Expected 'yes' -Kind String)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Allow third-party browser extensions
# State: Enabled
# Scope: Computer (HKLM)
# Supported on: At least Internet Explorer 6.0 in Windows 2003 Service Pack 1
$path = 'HKLM:\Software\Policies\Microsoft\Internet Explorer\Main'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'Enable Browser Extensions' -Value 'yes' -Type String SCCM scripts
# Exported from gporais.com
# Policy: Allow third-party browser extensions
# State: Enabled
# Scope: Computer (HKLM)
# Supported on: At least Internet Explorer 6.0 in Windows 2003 Service Pack 1
# 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: Allow third-party browser extensions
# State: Enabled
# Scope: Computer (HKLM)
# Supported on: At least Internet Explorer 6.0 in Windows 2003 Service Pack 1
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\Internet Explorer\Main' -Name 'Enable Browser Extensions' -Expected 'yes' -Kind String)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Allow third-party browser extensions
# State: Enabled
# Scope: Computer (HKLM)
# Supported on: At least Internet Explorer 6.0 in Windows 2003 Service Pack 1
$path = 'HKLM:\Software\Policies\Microsoft\Internet Explorer\Main'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'Enable Browser Extensions' -Value 'yes' -Type String Building a multi-setting collection? Add this setting and generate combined .reg / PowerShell / GPO scripts.