Shockwave Flash
Verified with Windows 11 25H2 — updated on July 23, 2026
Supported on: At least Internet Explorer 5.0
Path in the GPO console
User Configuration\Administrative Templates\Windows Components\Internet Explorer\Administrator Approved Controls Description
Designates Shockwave flash as an administrator approved control. If you enable this policy, this control can be run in security zones in which you specify that administrator-approved controls can be run. If you disable this policy or do not configure it, this control will not be designated as administrator-approved. To specify how administrator-approved controls are handled for each security zone, carry out the following steps: 1. In Group Policy, click User Configuration, click Internet Explorer Maintenance, and then click Security. 2. Double-click Security Zones and Content Ratings, click Import the Current Security Zones Settings, and then click Modify Settings. 3. Select the content zone in which you want to manage ActiveX controls, and then click Custom Level. 4. In the Run ActiveX Controls and Plug-ins area, click Administrator Approved.
Registry
Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\AllowedControls 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. ⓘ
.reg file
Windows Registry Editor Version 5.00
; Exported from gporais.com
; Policy: Shockwave Flash
; State: Enabled
; Supported on: At least Internet Explorer 5.0
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\AllowedControls]
"{D27CDB6E-AE6D-11CF-96B8-444553540000}"=dword:00000000 More formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Shockwave Flash
# State: Enabled
# Supported on: At least Internet Explorer 5.0
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\AllowedControls'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name '{D27CDB6E-AE6D-11CF-96B8-444553540000}' -Value 0 -Type DWord 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: Shockwave Flash
# State: Enabled
# Supported on: At least Internet Explorer 5.0
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
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 'HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\AllowedControls' -Name '{D27CDB6E-AE6D-11CF-96B8-444553540000}' -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: Shockwave Flash
# State: Enabled
# Supported on: At least Internet Explorer 5.0
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\AllowedControls'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name '{D27CDB6E-AE6D-11CF-96B8-444553540000}' -Value 0 -Type DWord SCCM scripts
# Exported from gporais.com
# Policy: Shockwave Flash
# State: Enabled
# Supported on: At least Internet Explorer 5.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: Shockwave Flash
# State: Enabled
# Supported on: At least Internet Explorer 5.0
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
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 'HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\AllowedControls' -Name '{D27CDB6E-AE6D-11CF-96B8-444553540000}' -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: Shockwave Flash
# State: Enabled
# Supported on: At least Internet Explorer 5.0
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\AllowedControls'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name '{D27CDB6E-AE6D-11CF-96B8-444553540000}' -Value 0 -Type DWord Building a multi-setting collection? Add this setting and generate combined .reg / PowerShell / GPO scripts.