Windows Components › Internet Explorer › Internet Control Panel › Security Page › Internet Zone
Allow scripting of Internet Explorer WebBrowser controls
Supported on At least Internet Explorer 7.0
What it does
This policy setting determines whether a page can control embedded WebBrowser controls via script. If you enable this policy setting, script access to the WebBrowser control is allowed. If you disable this policy setting, script access to the WebBrowser control is not allowed. If you do not configure this policy setting, the user can enable or disable script access to the WebBrowser control. By default, script access to the WebBrowser control is allowed only in the Local Machine and Intranet zones.
What it writes
- Hive
- HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
- Registry key
Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3
In Intune
Native Intune setting: Yes — Policy CSP
./Device/Vendor/MSFT/Policy/Config/InternetExplorer/InternetZoneAllowScriptingOfInternetExplorerWebBrowserControlsInternetExplorer on Microsoft LearnADMX-backed: Windows ships this template, so it is set with the template's own values, without an import.Windows builds listed: 10.0.16299../User/Vendor/MSFT/Policy/Config/InternetExplorer/InternetZoneAllowScriptingOfInternetExplorerWebBrowserControlsInternetExplorer on Microsoft LearnADMX-backed: Windows ships this template, so it is set with the template's own values, without an import.Windows builds listed: 10.0.16299.
From Microsoft's Policy CSP DDF files (DDF v2 Files, February 2026), read 18 Oct 2026.
Security baselines
Microsoft's Windows 11 v26H2 Security Baseline v2 sets this to Enabled, in its GPO “MSFT Internet Explorer 11 - Computer”.
- Internet Explorer web browser control
- Set to “Disable” (3).
Read from the registry.pol files in the baselines' GPO backups, downloaded from Microsoft's Security Compliance Toolkit. All baselines
Options
| Option | Type | Registry value | Allowed values |
|---|---|---|---|
| Internet Explorer web browser controlRequiredDefault: Enable | Drop-down list | 1206 |
|
Configure and deploy
Choose a state and the option values; the output below is generated from the template for exactly that.
Enabled · Computer · template defaults
Registry file (.reg)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3]
"1206"=dword:00000000
PowerShell
$ErrorActionPreference = 'Stop'
function Set-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name,
[Parameter(Mandatory = $true)][string] $PropertyType,
[Parameter(Mandatory = $true)][object] $Value
)
if (-not (Test-Path -LiteralPath $Path)) {
New-Item -Path $Path -Force | Out-Null
}
New-ItemProperty -LiteralPath $Path -Name $Name -PropertyType $PropertyType -Value $Value -Force | Out-Null
}
function Remove-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name
)
if (Test-Path -LiteralPath $Path) {
Remove-ItemProperty -LiteralPath $Path -Name $Name -Force -ErrorAction SilentlyContinue
}
}
function Clear-RegistryKeyValues {
param(
[Parameter(Mandatory = $true)][string] $Path
)
if (-not (Test-Path -LiteralPath $Path)) {
return
}
foreach ($propertyName in (Get-Item -LiteralPath $Path).Property) {
Remove-ItemProperty -LiteralPath $Path -Name $propertyName -Force -ErrorAction SilentlyContinue
}
}
# Policy: Allow scripting of Internet Explorer WebBrowser controls
# Name: IZ_Policy_WebBrowserControl_1
# Scope: Machine
# State: Enabled
# Source: inetres.admx
Set-RegistryValue -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3' -Name '1206' -PropertyType 'DWord' -Value 0
These deployment candidates come from the ADMX template; they are separate from the native CSP mapping above.
- The OMA-URI is an inferred ADMX-backed Policy CSP candidate derived from the source ADMX file name and policy name.
- Some Microsoft policies use built-in Policy CSP pages whose area names don't match the ADMX file name, so verify the candidate against Microsoft Learn before deployment.
ADMX profile candidate (OMA-URI)
./Device/Vendor/MSFT/Policy/Config/ADMX_inetres/IZ_Policy_WebBrowserControl_1ADMX SyncML candidate
<SyncML xmlns="SYNCML:SYNCML1.2">
<SyncBody>
<Replace>
<CmdID>1</CmdID>
<Item>
<Meta>
<Format>chr</Format>
<Type>text/plain</Type>
</Meta>
<Target>
<LocURI>./Device/Vendor/MSFT/Policy/Config/ADMX_inetres/IZ_Policy_WebBrowserControl_1</LocURI>
</Target>
<Data><enabled/>
<data id="IZ_Partname1206" value="0"/></Data>
</Item>
</Replace>
<Final/>
</SyncBody>
</SyncML>Intune remediation scripts
Detection
$ErrorActionPreference = 'Stop'
$reasons = [System.Collections.Generic.List[string]]::new()
function Test-RegistryValueExists {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name
)
if (-not (Test-Path -LiteralPath $Path)) {
return $false
}
return $null -ne (Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction SilentlyContinue)
}
function Test-RegistryValueEquals {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name,
[Parameter(Mandatory = $true)][string] $Kind,
[Parameter(Mandatory = $true)][object] $Expected
)
if (-not (Test-Path -LiteralPath $Path)) {
return $false
}
$valueObject = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction SilentlyContinue
if ($null -eq $valueObject) {
return $false
}
$actual = $valueObject.$Name
switch ($Kind) {
'String' { return [string]$actual -ceq [string]$Expected }
'ExpandString' { return [string]$actual -ceq [string]$Expected }
'DWord' { return [uint32]$actual -eq [uint32]$Expected }
'QWord' { return [uint64]$actual -eq [uint64]$Expected }
'MultiString' {
$actualArray = @($actual)
$expectedArray = @($Expected)
if ($actualArray.Count -ne $expectedArray.Count) { return $false }
for ($index = 0; $index -lt $actualArray.Count; $index++) {
if ([string]$actualArray[$index] -cne [string]$expectedArray[$index]) { return $false }
}
return $true
}
'Binary' {
$actualArray = [byte[]]$actual
$expectedArray = [byte[]]$Expected
if ($actualArray.Length -ne $expectedArray.Length) { return $false }
for ($index = 0; $index -lt $actualArray.Length; $index++) {
if ($actualArray[$index] -ne $expectedArray[$index]) { return $false }
}
return $true
}
default { return [string]$actual -ceq [string]$Expected }
}
}
# Policy: Allow scripting of Internet Explorer WebBrowser controls
# Name: IZ_Policy_WebBrowserControl_1
# Scope: Machine
# State: Enabled
# Source: inetres.admx
$isMatch = Test-RegistryValueEquals -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3' -Name '1206' -Kind 'DWord' -Expected 0
if (-not $isMatch) {
$reasons.Add('Value mismatch: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1206') | Out-Null
}
if ($reasons.Count -eq 0) {
Write-Output 'Compliant'
exit 0
}
$reasons | ForEach-Object { Write-Output $_ }
exit 1
Remediation
$ErrorActionPreference = 'Stop'
function Set-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name,
[Parameter(Mandatory = $true)][string] $PropertyType,
[Parameter(Mandatory = $true)][object] $Value
)
if (-not (Test-Path -LiteralPath $Path)) {
New-Item -Path $Path -Force | Out-Null
}
New-ItemProperty -LiteralPath $Path -Name $Name -PropertyType $PropertyType -Value $Value -Force | Out-Null
}
function Remove-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name
)
if (Test-Path -LiteralPath $Path) {
Remove-ItemProperty -LiteralPath $Path -Name $Name -Force -ErrorAction SilentlyContinue
}
}
function Clear-RegistryKeyValues {
param(
[Parameter(Mandatory = $true)][string] $Path
)
if (-not (Test-Path -LiteralPath $Path)) {
return
}
foreach ($propertyName in (Get-Item -LiteralPath $Path).Property) {
Remove-ItemProperty -LiteralPath $Path -Name $propertyName -Force -ErrorAction SilentlyContinue
}
}
# Policy: Allow scripting of Internet Explorer WebBrowser controls
# Name: IZ_Policy_WebBrowserControl_1
# Scope: Machine
# State: Enabled
# Source: inetres.admx
Set-RegistryValue -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3' -Name '1206' -PropertyType 'DWord' -Value 0
History 3 retained releases
- 22H2 · 1.015 Jul 2024
- Already present in the first release ChangeIntel keeps.
2 later releases left it unchanged.
Template
- Internal name
IZ_Policy_WebBrowserControl_1- Namespace
Microsoft.Policies.InternetExplorer- Template file
inetres.admx- Release
- Windows 11 23H2 · 1.0 · file set
d784d0ea5f14a680…
Definition, editor controls and support
Definition
<policy class="Both" displayName="$(string.IZ_Policy_WebBrowserControl)" explainText="$(string.IZ_Policy_WebBrowserControl_Explain)" key="Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" name="IZ_Policy_WebBrowserControl_1" presentation="$(presentation.IZ_Policy_WebBrowserControl_1)" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Microsoft.Policies.InternetExplorer:IZ_InternetZone" />
<supportedOn ref="Microsoft.Policies.InternetExplorer:SUPPORTED_IE7" />
<elements>
<enum id="IZ_Partname1206" required="true" valueName="1206">
<item displayName="$(string.IZ_ItemnameEnable)">
<value>
<decimal value="0" />
</value>
</item>
<item displayName="$(string.IZ_ItemnameDisable)">
<value>
<decimal value="3" />
</value>
</item>
</enum>
</elements>
</policy>Editor controls
<presentation id="IZ_Policy_WebBrowserControl_1" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<dropdownList defaultItem="0" noSort="true" refId="IZ_Partname1206">Internet Explorer web browser control</dropdownList>
</presentation>Supported platforms and category
Microsoft.Policies.InternetExplorer:category:IZ_InternetZone
<category displayName="$(string.IZ_InternetZone)" name="IZ_InternetZone" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Microsoft.Policies.InternetExplorer:IZ_SecurityPage" />
</category>
Microsoft.Policies.InternetExplorer:category:IZ_SecurityPage
<category displayName="$(string.IZ_SecurityPage)" explainText="$(string.IZ_SecurityPageExplain)" name="IZ_SecurityPage" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Microsoft.Policies.InternetExplorer:InternetCPL" />
</category>
Microsoft.Policies.InternetExplorer:category:InternetCPL
<category displayName="$(string.InternetCPL)" explainText="$(string.IE_ExplainInternetCPLCategory)" name="InternetCPL" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Microsoft.Policies.InternetExplorer:InternetExplorer" />
</category>
Microsoft.Policies.InternetExplorer:category:InternetExplorer
<category displayName="$(string.InternetExplorer)" explainText="$(string.IE_ExplainCat)" name="InternetExplorer" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Microsoft.Policies.Windows:WindowsComponents" />
</category>
Microsoft.Policies.InternetExplorer:definition:SUPPORTED_IE7
<definition displayName="$(string.SUPPORTED_IE7)" name="SUPPORTED_IE7" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<or>
<range minVersionIndex="7" ref="Microsoft.Policies.Products:InternetExplorer" />
</or>
</definition>
Microsoft.Policies.Products:product:InternetExplorer
sha256:f287ee590cbba46b7a95511866303967b9370c7c7d81185659d675ca19b05d72
Microsoft.Policies.Windows:category:WindowsComponents
<category displayName="$(string.WindowsComponents)" explainText="$(string.WindowsComponents_Help)" name="WindowsComponents" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
Microsoft.Policies.InternetExplorer:category:IZ_InternetZone
<category displayName="$(string.IZ_InternetZone)" name="IZ_InternetZone" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Microsoft.Policies.InternetExplorer:IZ_SecurityPage" />
</category>
<strings><string id="Microsoft.Policies.InternetExplorer:IZ_InternetZone">Internet Zone</string></strings>
Microsoft.Policies.InternetExplorer:category:IZ_SecurityPage
<category displayName="$(string.IZ_SecurityPage)" explainText="$(string.IZ_SecurityPageExplain)" name="IZ_SecurityPage" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Microsoft.Policies.InternetExplorer:InternetCPL" />
</category>
<strings><string id="Microsoft.Policies.InternetExplorer:IZ_SecurityPage">Security Page</string><string id="Microsoft.Policies.InternetExplorer:IZ_SecurityPageExplain">If you enable any policies for the security page, it is strongly recommended that you also configure policy to disable the security page from being presented in the UI to prevent users from believing that they can change their security settings.
You can disable the security page using the policy located at Administrative Templates\Windows Components\Internet Explorer\Internet Control Panel\.</string></strings>
Microsoft.Policies.InternetExplorer:category:InternetCPL
<category displayName="$(string.InternetCPL)" explainText="$(string.IE_ExplainInternetCPLCategory)" name="InternetCPL" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Microsoft.Policies.InternetExplorer:InternetExplorer" />
</category>
<strings><string id="Microsoft.Policies.InternetExplorer:IE_ExplainInternetCPLCategory">Contains settings that control features found in the Internet Options dialog.</string><string id="Microsoft.Policies.InternetExplorer:InternetCPL">Internet Control Panel</string></strings>
Microsoft.Policies.InternetExplorer:category:InternetExplorer
<category displayName="$(string.InternetExplorer)" explainText="$(string.IE_ExplainCat)" name="InternetExplorer" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Microsoft.Policies.Windows:WindowsComponents" />
</category>
<strings><string id="Microsoft.Policies.InternetExplorer:IE_ExplainCat">Contains settings to configure Internet Explorer</string><string id="Microsoft.Policies.InternetExplorer:InternetExplorer">Internet Explorer</string></strings>
Microsoft.Policies.InternetExplorer:definition:SUPPORTED_IE7
<definition displayName="$(string.SUPPORTED_IE7)" name="SUPPORTED_IE7" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<or>
<range minVersionIndex="7" ref="Microsoft.Policies.Products:InternetExplorer" />
</or>
</definition>
<strings><string id="Microsoft.Policies.InternetExplorer:SUPPORTED_IE7">At least Internet Explorer 7.0</string></strings>
Microsoft.Policies.Products:product:InternetExplorer
<product displayName="$(string.InternetExplorer)" name="InternetExplorer" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<majorVersion displayName="$(string.InternetExplorer30)" name="InternetExplorer30" versionIndex="3" />
<majorVersion displayName="$(string.InternetExplorer40)" name="InternetExplorer40" versionIndex="4" />
<majorVersion displayName="$(string.InternetExplorer50)" name="InternetExplorer50" versionIndex="5" />
<majorVersion displayName="$(string.InternetExplorer60)" name="InternetExplorer60" versionIndex="6" />
<majorVersion displayName="$(string.InternetExplorer70)" name="InternetExplorer70" versionIndex="7" />
<majorVersion displayName="$(string.InternetExplorer80)" name="InternetExplorer80" versionIndex="8" />
<majorVersion displayName="$(string.InternetExplorer90)" name="InternetExplorer90" versionIndex="9" />
<majorVersion displayName="$(string.InternetExplorer100)" name="InternetExplorer100" versionIndex="10" />
<majorVersion displayName="$(string.InternetExplorer110)" name="InternetExplorer110" versionIndex="11" />
</product>
<strings><string id="Microsoft.Policies.Products:InternetExplorer">Internet Explorer</string><string id="Microsoft.Policies.Products:InternetExplorer100">Internet Explorer 10</string><string id="Microsoft.Policies.Products:InternetExplorer110">Internet Explorer 11</string><string id="Microsoft.Policies.Products:InternetExplorer30">Internet Explorer 3</string><string id="Microsoft.Policies.Products:InternetExplorer40">Internet Explorer 4</string><string id="Microsoft.Policies.Products:InternetExplorer50">Internet Explorer 5</string><string id="Microsoft.Policies.Products:InternetExplorer60">Internet Explorer 6</string><string id="Microsoft.Policies.Products:InternetExplorer70">Internet Explorer 7</string><string id="Microsoft.Policies.Products:InternetExplorer80">Internet Explorer 8</string><string id="Microsoft.Policies.Products:InternetExplorer90">Internet Explorer 9</string></strings>
Microsoft.Policies.Windows:category:WindowsComponents
<category displayName="$(string.WindowsComponents)" explainText="$(string.WindowsComponents_Help)" name="WindowsComponents" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
<strings><string id="Microsoft.Policies.Windows:WindowsComponents">Windows Components</string><string id="Microsoft.Policies.Windows:WindowsComponents_Help">Contains settings for operating system components.</string></strings>