Microsoft Edge
Enable the network service sandbox
Supported on Microsoft Edge version 102, Windows 7 or later
What it does
This policy controls whether or not the network service process runs sandboxed. If this policy is enabled, the network service process runs sandboxed. If this policy is disabled, the network service process runs unsandboxed. This leaves users open to other security risks related to running the network service unsandboxed. If this policy isn't set, the default configuration for the network sandbox will be used. This may vary depending on Microsoft Edge release, currently running field trials, and platform. This policy is intended to give enterprises flexibility to disable the network sandbox if they use third party software that interferes with the network service sandbox.
What it writes
- Hive
- HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
- Registry key
Software\Policies\Microsoft\Edge- Value name
NetworkServiceSandboxEnabled- When enabled
- DWORD 1
- When disabled
- DWORD 0
Security baselines
Microsoft's Microsoft Edge v151 Security Baseline sets this to Enabled, in its GPO “MSFT Edge Version 151 - Computer”.
- Policy value NetworkServiceSandboxEnabled
- Sets NetworkServiceSandboxEnabled to 1 (REG_DWORD).
Read from the registry.pol files in the baselines' GPO backups, downloaded from Microsoft's Security Compliance Toolkit. All baselines
Configure and deploy
Choose a state; 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\Edge]
"NetworkServiceSandboxEnabled"=dword:00000001
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: Enable the network service sandbox
# Name: NetworkServiceSandboxEnabled
# Scope: Machine
# State: Enabled
# Source: msedge.admx
Set-RegistryValue -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Edge' -Name 'NetworkServiceSandboxEnabled' -PropertyType 'DWord' -Value 1
- 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_msedge/NetworkServiceSandboxEnabledADMX 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_msedge/NetworkServiceSandboxEnabled</LocURI>
</Target>
<Data><enabled/></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: Enable the network service sandbox
# Name: NetworkServiceSandboxEnabled
# Scope: Machine
# State: Enabled
# Source: msedge.admx
$isMatch = Test-RegistryValueEquals -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Edge' -Name 'NetworkServiceSandboxEnabled' -Kind 'DWord' -Expected 1
if (-not $isMatch) {
$reasons.Add('Value mismatch: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Edge\NetworkServiceSandboxEnabled') | 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: Enable the network service sandbox
# Name: NetworkServiceSandboxEnabled
# Scope: Machine
# State: Enabled
# Source: msedge.admx
Set-RegistryValue -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Edge' -Name 'NetworkServiceSandboxEnabled' -PropertyType 'DWord' -Value 1
History 37 retained releases
- 150.0.4078.8016 Jul 2026
- Already present in the first release ChangeIntel keeps.
36 later releases left it unchanged.
Template
- Internal name
NetworkServiceSandboxEnabled- Namespace
Microsoft.Policies.Edge- Template file
msedge.admx- Release
- Microsoft Edge 155.0.4283.62 · file set
0a733b0040dbbf02…
Definition, editor controls and support
Definition
<policy class="Both" displayName="$(string.NetworkServiceSandboxEnabled)" explainText="$(string.NetworkServiceSandboxEnabled_Explain)" key="Software\Policies\Microsoft\Edge" name="NetworkServiceSandboxEnabled" presentation="$(presentation.NetworkServiceSandboxEnabled)" valueName="NetworkServiceSandboxEnabled" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Microsoft.Policies.Edge:microsoft_edge" />
<supportedOn ref="Microsoft.Policies.Edge:SUPPORTED_WIN7_V102" />
<enabledValue>
<decimal value="1" />
</enabledValue>
<disabledValue>
<decimal value="0" />
</disabledValue>
</policy>Editor controls
<presentation id="NetworkServiceSandboxEnabled" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />Supported platforms and category
Microsoft.Policies.Edge:category:microsoft_edge
<category displayName="$(string.microsoft_edge)" name="microsoft_edge" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
Microsoft.Policies.Edge:definition:SUPPORTED_WIN7_V102
<definition displayName="$(string.SUPPORTED_WIN7_V102)" name="SUPPORTED_WIN7_V102" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
Microsoft.Policies.Edge:category:microsoft_edge
<category displayName="$(string.microsoft_edge)" name="microsoft_edge" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
<strings><string id="Microsoft.Policies.Edge:microsoft_edge">Microsoft Edge</string></strings>
Microsoft.Policies.Edge:definition:SUPPORTED_WIN7_V102
<definition displayName="$(string.SUPPORTED_WIN7_V102)" name="SUPPORTED_WIN7_V102" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
<strings><string id="Microsoft.Policies.Edge:SUPPORTED_WIN7_V102">Microsoft Edge version 102, Windows 7 or later</string></strings>