HomeNewsletterCommunityMVP FeedToolsArchiveBlogToday's NewsAboutServicesQuick Links Subscribe free
← Back to Blog
Windows 11 Windows 11Windows SandboxSecurityIntuneGroup PolicyHyper-VPowerShell

Windows Sandbox: the disposable VM in the box, and the .wsb settings that decide whether it is actually isolated

IA
Imran Awan
21 August 2026

Somebody on your service desk gets a suspicious invoice attachment. They want to look at it without risking their laptop. On Windows 11 Pro, Enterprise and Education there is already a tool on the device for exactly that job: Windows Sandbox. It is a throwaway Windows desktop that boots in seconds, runs on the Microsoft hypervisor, and is destroyed the moment you close the window. No separate ISO, no VM to patch, no licence to buy.

The catch is that "isolated" is not a property of Windows Sandbox. It is a property of the configuration file you launched it with. And the default configuration, plus the sample configuration people copy off the internet, is not the one you want for opening an untrusted invoice. This post explains what the sandbox actually is, walks every documented element of the .wsb configuration schema and what each one costs you in security terms, and shows the Group Policy and Intune settings that let you take the decision away from the user entirely.

The short version

Windows Sandbox is a hypervisor-isolated disposable desktop delivered by the Containers-DisposableClientVM optional feature, and by default it launches with networking on, clipboard sharing on, vGPU on and audio input on. Microsoft's disposal guarantee covers the sandbox disk only, so a mapped host folder left in read-write mode keeps every change the sandbox made to it after the sandbox is gone. For safe triage you want a .wsb file with networking, clipboard and vGPU disabled and the mapped folder set to ReadOnly true. And contrary to a widely repeated claim, there is an enterprise story: the WindowsSandbox Policy CSP and WindowsSandbox.admx give you eight device settings that override whatever the .wsb file asks for.

The problem: the defaults are the opposite of isolation

Start with what Microsoft says the product does. Windows Sandbox "offers a lightweight, isolated desktop environment for safely running applications." Applications installed inside it "remain isolated from the host machine using hypervisor-based virtualization." Closing it "deletes all software, files, and state." That is genuinely useful, and it is genuinely true.

Now look at what you get when a user clicks the Start menu tile with no configuration file at all. Microsoft documents the default launch posture explicitly, and it reads like a list of things a malware analyst would switch off first.

Default settingState on a plain launchWhat it means for you
NetworkingEnabled, on the Hyper-V default switchThe sandbox reaches the internet and, per Microsoft, "can expose untrusted applications to the internal network"
Clipboard redirectionEnabledText and files can be pasted both ways, so there is a route out of the sandbox by design
vGPUEnabled on non-Arm64 devicesMicrosoft's own note: enabling virtualized GPU "can potentially increase the attack surface of the sandbox"
Audio inputEnabledThe host microphone is shared into the container
Video inputDisabledWebcam is not shared unless you ask for it
Printer redirectionDisabledHost printers are not visible
Protected clientDisabledThe extra hardening layer is off unless you turn it on
Memory4 GB maximum capacitySmart memory management reclaims it under host pressure

Three of the four things you would most want off are on. That is a defensible choice for a consumer feature where the goal is that a browser works and copy-paste works. It is the wrong starting point for opening an attachment.

The second half of the problem is the part that surprises experienced engineers. The disposal guarantee has a boundary, and mapped folders sit outside it.

The disposal guarantee does not cover your mapped folder. Microsoft states it plainly: "Changes made during a Sandbox session to a mapped folder with write-permissions will persist after a Sandbox is disposed." The sandbox disk is thrown away. The host folder you mapped is not. If you map C:\Users\Public\Downloads without setting ReadOnly to true, anything that runs in that sandbox can write into a real folder on a real disk, and it is still there tomorrow. Combine that with networking left on and you have given untrusted code a download path and a persistence path in the same file.

The third half, if you will allow it, is the sample configuration problem. The most-copied .wsb snippets on the internet are development snippets. They map a projects folder read-write, because that is the point of a dev sandbox. Someone doing triage copies the shape of that file, changes the folder, and never notices that <ReadOnly>false</ReadOnly> is still in there. The XML looks careful. The posture is wide open.

Why it happens: what the sandbox actually is under the window

To reason about the settings you need to know what is being configured. Windows Sandbox is not a normal virtual machine, and the difference is the reason it can boot in seconds.

Dynamic Base Image: it borrows your host's Windows

A conventional Hyper-V VM needs its own complete copy of Windows on disk. Windows Sandbox does not. Microsoft calls the technique Dynamic Base Image. Most operating system files are immutable, so the sandbox shares the copies already installed on your host. The small subset that is mutable cannot be shared, so the base image ships pristine copies of just those. The two sets combine into a complete, bootable Windows image.

The numbers Microsoft publishes for this are worth remembering. Before installation the dynamic base image package is a compressed 30 MB package. Once installed it occupies about 500 MB of disk space. That is the entire on-disk cost of having a spare Windows install available.

Direct map: it borrows your host's memory too

Because the sandbox runs the same operating system image as the host, Microsoft extended it to use the same physical memory pages for OS binaries, via a technology it calls "direct map." Microsoft's example: when ntdll.dll is loaded in the sandbox, it uses the same physical pages as the copy loaded on the host. That is why the memory footprint is smaller than a VM's, and Microsoft is careful to say this happens "without compromising valuable host secrets."

Memory allocation is dynamic rather than fixed. A classic VM is handed a static slice of host memory. The sandbox collaborates with the host, and if the host comes under memory pressure it can reclaim memory from the container much as it would from an ordinary process.

The isolation boundary, stated properly

This matters because people argue about it. Microsoft's Windows 11 Security Book says Windows Sandbox "uses the same hardware-based virtualization technology as Hyper-V" and that any untrusted Win32 app installed in it "stays only in the sandbox and can't affect the host." The overview page describes it as "Secure: Uses hardware-based virtualization for kernel isolation. It relies on the Microsoft hypervisor to run a separate kernel that isolates Windows Sandbox from the host."

Context: hypervisor isolation versus process isolation. Microsoft's Windows container security guidance draws the line clearly: only hypervisor-isolated containers provide a security boundary, and process-isolated containers do not. Windows Sandbox sits on the hypervisor-isolated side, which is why it is a reasonable place to open an unknown file at all. That boundary is about the kernel. It says nothing about the channels you deliberately punched through it with a configuration file. A read-write mapped folder is not a hypervisor escape; it is a door you opened.

The moving parts on the host

Windows Sandbox is not installed by default. It arrives as a Windows optional feature named Containers-DisposableClientVM, whose display name is "Windows Sandbox" and whose description reads "Enables the dependencies required to run Windows Sandbox scenarios." Enabling it stages a small payload and lights up the Start menu entry.

Here is what the feature actually puts on the box and what each piece does in the flow, from the user double-clicking a .wsb file to a desktop appearing.

Binary or componentWhere it livesRole in the flow
WindowsSandbox.exeC:\Windows\System32\ once the feature is enabledThe launcher. Parses the .wsb file, asks the compute service for a container
WindowsSandboxClient.exeC:\Windows\System32\ once the feature is enabledThe client that renders the sandbox desktop window on the host
WindowsSandboxRemoteSession.exeStore app package directory on 24H2 and laterBacks the remote session the client displays; the CLI connect command opens one
vmcompute.exeC:\Windows\System32\, always presentHost Compute Service. Creates and tears down the container
vmwp.exeC:\Windows\System32\, always presentVirtual machine worker process. One per running virtual machine partition
Dynamic base imageC:\ProgramData\Microsoft\Windows\Containers\BaseImagesThe pristine mutable-file set the sandbox boots from
WDAGUtilityAccountLocal account, disabled until usedThe container user the sandbox desktop and any logon command run as
Gotcha: two of those paths are observed, not documented. Microsoft documents the existence of the dynamic base image and its approximate size, but I could not find a Microsoft page that states the C:\ProgramData\Microsoft\Windows\Containers\BaseImages path. I am reporting it because it is what the container stack uses on a live Windows 11 26100/26200 device, but treat it as observed-and-undocumented and do not build detection logic on it. The same caution applies to the exact directory of WindowsSandboxRemoteSession.exe, which moved when Windows Sandbox became a Store-delivered app in 24H2. WDAGUtilityAccount, by contrast, is documented as the default sandbox user.

The chain, in order: the user opens a .wsb file, or the Start menu tile, or runs wsb start. WindowsSandbox.exe reads the configuration. It checks the configuration against policy in HKLM\SOFTWARE\Policies\Microsoft\Windows\Sandbox and refuses anything policy has blocked. It asks vmcompute to build a container from the dynamic base image. vmwp hosts the partition. Mapped folders are attached. Then, and only then, the logon command runs. Ordering matters here, and Microsoft states it: "When using <Mappedfolders> to map folders, the folders are mapped before the execution of the Logon command." A logon command can therefore touch a mapped host folder on its very first instruction.

Why the defaults never got tightened

Windows Sandbox is aimed at everyone. Microsoft's own FAQ says it "can be used in various scenarios by anyone without any technical skills," and lists secure web browsing and social media browsing alongside malware triage. Networking off breaks the browsing scenarios. Clipboard off breaks the "just paste this in" scenario. So the defaults optimise for the common case, and the security-critical case is left to the configuration file. That design decision is the whole reason this post exists.

How to verify: feature state, prerequisites, surfaces and .wsb parsing

Verification splits into two questions. Is the sandbox available on this device, and what posture will it launch with?

Step 1: is the optional feature enabled?

The single authoritative check is Get-WindowsOptionalFeature. It needs an elevated prompt. Run it and read the State field.

PowerShell - run elevated
Get-WindowsOptionalFeature -Online -FeatureName Containers-DisposableClientVM | Format-List FeatureName, State, DisplayName, Description, RestartRequired FeatureName : Containers-DisposableClientVM State : Disabled DisplayName : Windows Sandbox Description : Enables the dependencies required to run Windows Sandbox scenarios. RestartRequired : Possible # Real output from a Windows 11 Enterprise 26200 device, identifiers unchanged because there are none. # State Disabled = healthy for a locked-down fleet. Nobody can launch a sandbox. # State Enabled = any interactive user on this device can launch one. Now the .wsb posture matters. # DisabledWithPayloadRemoved = disabled AND the payload is gone; enabling needs a source. # A blank or error result is NOT "disabled" - it means you were not elevated. Do not treat it as clean.

Two related checks are worth having in the same breath. On Windows 11 24H2 and later, Windows Sandbox is also delivered as a Microsoft Store app with a revamped UI and the wsb.exe command line. Microsoft's documented way to tell which version you are on is Get-AppxPackage -Name WindowsSandbox | Select-Object Version: an empty result means the older inbox version, a version number means the newer one. You can also run wsb --version, and if wsb is not available you are on the older version.

Step 2: are the prerequisites there?

Microsoft publishes a short prerequisite list, and every item on it is checkable without rebooting anything.

Documented prerequisiteThresholdHow to check it
ArchitectureAMD64, or Arm64 on Windows 11 22H2 and later(Get-CimInstance Win32_OperatingSystem).OSArchitecture
EditionPro, Enterprise, Pro Education/SE, Education. Not Home(Get-CimInstance Win32_OperatingSystem).Caption
OS versionWindows 11, or Windows 10 version 1903 or later(Get-CimInstance Win32_OperatingSystem).BuildNumber
VirtualisationEnabled in BIOS; nested virtualisation if inside a VM(Get-CimInstance Win32_ComputerSystem).HypervisorPresent
MemoryAt least 4 GB, 8 GB recommended(Get-CimInstance Win32_ComputerSystem).TotalPhysicalMemory
DiskAt least 1 GB free, SSD recommendedGet-CimInstance Win32_LogicalDisk
CPUAt least two cores, four with hyper-threading recommended(Get-CimInstance Win32_ComputerSystem).NumberOfLogicalProcessors

Nested virtualisation deserves its own sentence because the question comes up constantly. Yes, Windows Sandbox runs inside a virtual machine, and Microsoft documents exactly how to make that work. On the VM host you run Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true followed by Update-VMVersion -VMName <VMName>. Note the constraint that goes with it: Microsoft's troubleshooting table says Windows Sandbox "only supports Hyper-V Hypervisor. Third-party hypervisors are not supported."

Step 3: the registry surface

There is exactly one registry key that changes Windows Sandbox behaviour, and it is the policy key. There is no supported user-preference key, no per-machine defaults key, nothing under HKCU. Everything else about a sandbox launch comes from the .wsb file.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Sandbox
Value name (REG_DWORD)0 / 1What it controls
AllowNetworking0 = not allowed, 1 = allowed (default)Whether a sandbox may create a virtual switch and attach a virtual NIC
AllowClipboardRedirection0 = not allowed, 1 = allowed (default)Whether copy and paste in and out of the sandbox is permitted
AllowVGPU0 = not allowed, 1 = allowed (default)Whether the virtualized GPU is available, or software rendering is used
AllowAudioInput0 = not allowed, 1 = allowed (default)Whether host microphone input reaches the container
AllowVideoInput0 = not allowed, 1 = allowed (default)Whether host webcam input reaches the container
AllowPrinterRedirection0 = not allowed, 1 = allowed (default)Whether host printers are shared into the sandbox
AllowMappedFolders0 = not allowed, 1 = allowed (default)Whether host folders may be mapped in at all. Windows 11 24H2 and later
AllowWriteToMappedFolders0 = not allowed, 1 = allowed (default)Whether mapped folders may be writable. Depends on AllowMappedFolders = 1. 24H2 and later

Those eight value names are not guesses. They are the value names in C:\Windows\PolicyDefinitions\WindowsSandbox.admx on a stock Windows 11 device, and they match the WindowsSandbox area of the Policy CSP exactly. Here is what that key looks like when the policy has actually applied.

Registry Editor
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Sandbox
AllowNetworking          REG_DWORD    0x00000000 (0)
AllowClipboardRedirection  REG_DWORD    0x00000000 (0)
AllowVGPU                 REG_DWORD    0x00000000 (0)
AllowWriteToMappedFolders  REG_DWORD    0x00000000 (0)
Illustrative view of the key after the four settings above are applied. A value of 0 means "not allowed" and wins over the .wsb file.

Step 4: Event Viewer, honestly

This is where I have to be straight with you. Microsoft publishes no Event ID catalogue for Windows Sandbox. There is no Microsoft-Windows-WindowsSandbox channel. There is no documented sandbox log file either. When Microsoft's own troubleshooting guidance wants sandbox diagnostics, it sends you to Feedback Hub traces or the GitHub repository, not to an Event ID.

What you do get, documented, are the Host Compute Service channels, because the sandbox is built by the same Host Compute Service that builds Windows containers. Those are the channels to watch when a sandbox refuses to start.

Applications and Services Logs\Microsoft\Windows\Hyper-V-Compute\Admin and \Operational
Documented channelEnabled by defaultWhat it gives you
Microsoft-Windows-Hyper-V-Compute-AdminYesHost Compute Service failures. First stop when a sandbox will not launch
Microsoft-Windows-Hyper-V-Compute-OperationalYesContainer lifecycle operations from the compute service
Microsoft-Windows-Hyper-V-Compute-AnalyticNo, enable on demandVerbose HCS analytic and debug detail for a single repro
Microsoft-Windows-Hyper-V-Worker-AdminYesvmwp.exe worker-process events for the partition
Microsoft-Windows-Containers-Wcifs/OperationalYesContainer isolation filesystem filter, the layer behind mapped folders
Event Viewer
Applications and Services Logs > Microsoft > Windows > Hyper-V-Compute > Admin
Level Error   Source Hyper-V-Compute   Event ID not published by Microsoft for this scenario
Illustrative. Microsoft documents these channels as the place Host Compute Service logs land, but does not publish a Windows Sandbox Event ID list, so no specific ID is quoted here.

To capture the verbose channel for one reproduction, Microsoft documents the exact wevtutil sequence. Enable the analytic channel, reproduce the failure, export it, then turn it off again.

PowerShell - run elevated
# 1. Which container and compute channels exist on this box, and are they enabled? Get-WinEvent -ListLog Microsoft-Windows-Hyper-V-Compute-*, Microsoft-Windows-Containers-* | Select-Object LogName, IsEnabled, RecordCount # 2. Turn on the analytic channel just for a repro. This is a diagnostic switch, not a config change. wevtutil.exe sl Microsoft-Windows-Hyper-V-Compute-Analytic /e:true /q:true # 3. Reproduce the sandbox failure now, then export and turn it back off. wevtutil.exe epl Microsoft-Windows-Hyper-V-Compute-Analytic C:\Temp\hcslog.evtx wevtutil.exe sl Microsoft-Windows-Hyper-V-Compute-Analytic /e:false /q:true # Healthy: step 1 lists the Admin and Operational channels with IsEnabled True. # Broken: the Hyper-V-Compute channels are missing entirely, which means the # virtualisation platform is not present and no sandbox will ever start.

Step 5: services and scheduled tasks

Two services matter and one common assumption is wrong. There is no service called "Windows Sandbox." The work is done by the Hyper-V host stack, which is present on a supported device whether or not the sandbox feature is enabled.

Service (short name)Display nameExpected state
vmcomputeHyper-V Host Compute ServiceManual start, started on demand when a container is created
HvHostHV Host ServiceManual start, running on a device with the hypervisor active
vmmsHyper-V Virtual Machine ManagementPresent and Automatic only where the Hyper-V role is also installed

On scheduled tasks the honest answer is that there are none. I found no scheduled task under \Microsoft\Windows\ that drives Windows Sandbox, and Microsoft documents none. The sandbox is entirely user-initiated: a tile, a .wsb file, or wsb start. Nothing runs it on a timer, which is one fewer thing to worry about.

Step 6: Defender, and a name collision that catches people out

Gotcha: "Defender sandbox" is a completely different feature. Search for Defender and sandbox together and you will land on Microsoft's page about running Microsoft Defender Antivirus in a sandbox, enabled with setx /M MP_FORCE_USE_SANDBOX 1 and observable as an MsMpEngCP.exe content process. That is Defender sandboxing its own scanning engine to limit the damage if a content parser is exploited. It has nothing whatsoever to do with Windows Sandbox the disposable VM. Do not cite one for the other.

On the question that actually matters, whether Defender scans inside a Windows Sandbox session, I could not find a Microsoft statement either way, so I am not going to invent one. What I can say from the documented architecture is the thing you should plan around. Each sandbox launch is a fresh, pristine Windows instance that is destroyed on close, so any detection or telemetry generated inside it dies with it. Compare that with WSL, where Microsoft explicitly ships a Defender for Endpoint plug-in that monitors activity inside a distribution and reports it to the MDE dashboards. There is no equivalent documented plug-in for Windows Sandbox. Treat the sandbox interior as unmonitored.

The part your host Defender does see is the part that touches the host. A file written into a write-enabled mapped folder lands on the host filesystem, where host real-time protection applies normally. The .wsb file itself, and WindowsSandbox.exe launching, are host-side events. That is the seam your detections should live on.

Step 7: read the .wsb files that already exist

All of the above tells you whether a sandbox can launch. It does not tell you what posture the sandboxes in your environment actually use. For that you have to find and parse the configuration files, which is what the companion script does.

Tip: audit before you legislate. Before you push policy, run Get-SandboxConfigAudit.ps1 across a sample of devices. It is read-only, needs no modules, refuses to enable the feature or launch a sandbox, and it resolves every element of every .wsb file it finds to its effective value, including the elements that are absent and therefore defaulting to on. Knowing that eleven of your developers rely on a read-write mapping changes how you word the exception process.

The fix: a hardened .wsb, then pin it with policy

Two layers. The configuration file is what a careful user writes. Policy is what stops a careless one.

Layer 1: the complete .wsb schema, element by element

A configuration file is XML with a single <Configuration> root, saved with a .wsb extension. Double-clicking it launches a sandbox with those settings. Every documented element, its documented values, and what it costs you:

ElementDocumented valuesSecurity consequence
<vGPU>Enable, Disable, Default (Default = enabled)Microsoft: enabling virtualized GPU "can potentially increase the attack surface." Disabled falls back to WARP software rendering
<Networking>Enable, Disable, Default (Default = enabled)Microsoft: "can expose untrusted applications to the internal network." The single highest-impact setting in the file
<MappedFolders>Array of <MappedFolder>Microsoft: mapped files and folders "can be compromised by apps in the sandbox or potentially affect the host"
<HostFolder>Absolute path, must already existIf the folder does not exist the container fails to start. Scope this to a single triage folder, never a profile root
<SandboxFolder>Absolute path inside the sandboxCreated if absent. If you omit it entirely the folder lands on the container user's desktop
<ReadOnly>true / false, defaults to falseThe one that bites. false means writes persist on the host after disposal
<LogonCommand><Command>One path to an executable or script in the containerRuns automatically as the container user, which "should be an administrator account," after mapped folders attach
<AudioInput>Enable, Disable, Default (Default = enabled)Microsoft: "There may be security implications of exposing host audio input to the container"
<VideoInput>Enable, Disable, Default (Default = disabled)Same caution for the webcam. Off by default, keep it off
<ProtectedClient>Enable, Disable, Default (Default = disabled)Runs the sandbox inside AppContainer Isolation, adding credential, device, file, network, process and window isolation to the RDP session
<PrinterRedirection>Enable, Disable, Default (Default = disabled)Shares host printers into the sandbox. No reason to enable it for triage
<MemoryInMB>Integer megabytesNot a security control. A value too low to boot is automatically raised to the 2048 MB minimum

Protected client is the element people skip, so be precise about it. Microsoft's wording: "When Protected Client mode is enabled, Sandbox adds a new layer of security boundary by running inside an AppContainer Isolation execution environment. AppContainer Isolation provides Credential, Device, File, Network, Process, and Window isolation." It hardens the Remote Desktop Protocol session to the sandbox. Microsoft's own caveat is that it "may restrict the user's ability to copy/paste files in and out of the sandbox" - which, for a triage sandbox, is a feature rather than a limitation.

Here is the hardened file. Every risky element is set explicitly, because relying on a default is how you end up with networking on.

Triage.wsb - save with a .wsb extension, in quotes if using Notepad
<Configuration> <VGpu>Disable</VGpu> <!-- software rendering, smaller attack surface --> <Networking>Disable</Networking> <!-- no internet, no internal network --> <ClipboardRedirection>Disable</ClipboardRedirection> <!-- closes the paste-it-out route --> <AudioInput>Disable</AudioInput> <!-- microphone stays on the host --> <VideoInput>Disable</VideoInput> <!-- webcam stays on the host --> <PrinterRedirection>Disable</PrinterRedirection> <ProtectedClient>Enable</ProtectedClient> <!-- AppContainer Isolation on the RDP session --> <MemoryInMB>4096</MemoryInMB> <MappedFolders> <MappedFolder> <HostFolder>C:\Triage\Inbound</HostFolder> <SandboxFolder>C:\Inbound</SandboxFolder> <ReadOnly>true</ReadOnly> <!-- NEVER omit this. Absent means false. --> </MappedFolder> </MappedFolders> </Configuration> # Healthy: the sandbox opens with no network icon, no clipboard, and C:\Inbound read-only. # Broken: E_INVALIDARG means an element name or value is wrong. Check spelling and case.
Gotcha: the GPU element has two spellings in Microsoft's own docs, and XML is case sensitive. The configuration reference writes it as <vGPU>. Microsoft's sample configuration files write it as <VGpu>. Separately, the schema page lists the supported values as Enable, Disable and Default, while the command line page shows an example passing <Networking>Disabled</Networking> - with a "d". If a hardening element is silently ignored, or the launch fails with E_INVALIDARG, this is the first thing to check. Use Disable, not Disabled, and if in doubt test the file rather than trusting the spelling you copied.

Layer 2: Group Policy

This is the part the internet gets wrong. There absolutely is a Group Policy node for Windows Sandbox, backed by WindowsSandbox.admx, which ships in C:\Windows\PolicyDefinitions on a stock Windows 11 device. You do not need to download an ADMX pack.

gpedit.mscComputer ConfigurationAdministrative TemplatesWindows ComponentsWindows Sandbox
  1. On a management workstation, open Group Policy Management and edit the GPO you use for endpoint hardening.
  2. Expand Computer Configuration, then Policies, then Administrative Templates.
  3. Expand Windows Components and select Windows Sandbox. If the node is missing, your central store predates the ADMX; copy WindowsSandbox.admx and its .adml from a current Windows 11 device.
  4. Open Allow networking in Windows Sandbox and set it to Disabled. That writes AllowNetworking = 0.
  5. Open Allow clipboard sharing with Windows Sandbox and set it to Disabled.
  6. Open Allow vGPU sharing for Windows Sandbox and set it to Disabled.
  7. Open Allow audio input in Windows Sandbox and set it to Disabled.
  8. Open Allow mapping folders into Windows Sandbox. To permit read-only triage mappings, set it to Enabled and clear the AllowWriteToMappedFolders checkbox in the options pane. To forbid mappings entirely, set it to Disabled.
  9. Close the editor, link the GPO, and run gpupdate /target:computer /force on a test device.
  10. Confirm the values landed under HKLM\SOFTWARE\Policies\Microsoft\Windows\Sandbox, then restart Windows Sandbox. Microsoft notes that these settings require a sandbox restart to take effect.

Step 8 is worth pausing on. AllowWriteToMappedFolders is not a separate policy in the editor. It is a checkbox element inside the Allow mapping folders into Windows Sandbox policy, which is why the Policy CSP documents it as depending on AllowMappedFolders being set to 1. That single checkbox is the cleanest control in the whole feature: it lets developers keep their mapped folders while making every mapping read-only at the platform level, regardless of what the .wsb file says.

Layer 3: Intune

Because these are ADMX-backed policies in the WindowsSandbox area of the Policy CSP, you have both routes. The Settings Catalog is the maintainable one.

intune.microsoft.comDevicesConfigurationCreateSettings catalog
  1. Sign in to the Microsoft Intune admin center at intune.microsoft.com.
  2. Go to Devices, then Configuration, then Create, then New policy.
  3. Platform: Windows 10 and later. Profile type: Settings catalog. Select Create.
  4. Name it something a future admin will understand, for example Win11 - Windows Sandbox hardening. Select Next.
  5. On the Configuration settings tab select Add settings and search the picker for Windows Sandbox.
  6. Add Allow Networking, Allow Clipboard Redirection, Allow VGPU, Allow Audio Input and Allow Write To Mapped Folders.
  7. Set every one of them to Not allowed - that is the 0 value. Leave Allow Mapped Folders as Allowed if you still want read-only mappings to work.
  8. Select Next through Scope tags, then assign the profile to your device group. These are device-scope settings, so assign to devices, not users.
  9. Review and create. Then check Devices, then Configuration, then your profile, then Device status for a Succeeded result.

If you prefer a custom profile, or the picker in your tenant has not caught up, the OMA-URIs are documented and stable. Create a Templates, then Custom profile and add each setting as an Integer with a value of 0.

./Device/Vendor/MSFT/Policy/Config/WindowsSandbox/AllowNetworking
SettingOMA-URI leafData type and value
NetworkingWindowsSandbox/AllowNetworkingInteger, 0
ClipboardWindowsSandbox/AllowClipboardRedirectionInteger, 0
vGPUWindowsSandbox/AllowVGPUInteger, 0
Audio inputWindowsSandbox/AllowAudioInputInteger, 0
Video inputWindowsSandbox/AllowVideoInputInteger, 0
Printer redirectionWindowsSandbox/AllowPrinterRedirectionInteger, 0
Mapped foldersWindowsSandbox/AllowMappedFoldersInteger, 0 or 1
Write to mapped foldersWindowsSandbox/AllowWriteToMappedFoldersInteger, 0

The gap: there is no policy to remove the sandbox itself

Nothing in the WindowsSandbox policy area turns Windows Sandbox off. All eight settings govern what a sandbox may do once it launches. There is no documented AllowWindowsSandbox policy, no CSP switch that hides the Start menu tile, and no Settings Catalog item that removes the feature. If your requirement is "nobody in this organisation runs a sandbox," policy is the wrong tool. You control availability by controlling the optional feature: leave Containers-DisposableClientVM disabled in your image, and back that up with an application control rule that blocks WindowsSandbox.exe. Enabling an optional feature requires local administrator rights, so on a fleet where users are not administrators, simply never enabling it is most of the control - but it is a build decision, not a policy decision, and your compliance evidence has to come from a device query rather than a policy report.

For completeness, the documented ways the feature does get enabled, so you know what you are watching for: the Turn Windows features on or off dialog, and the elevated PowerShell one-liner Enable-WindowsOptionalFeature -FeatureName "Containers-DisposableClientVM" -All -Online. If you are deliberately deploying the sandbox to a triage team, that command in an Intune platform script or a Win32 app is the supported route, and Peter van der Woude wrote that pattern up years ago.

One more thing to know before you consider this closed. On Windows 11 24H2 and later, the Store-delivered Windows Sandbox app added runtime toggles: a user can turn clipboard redirection, audio and video input, and folder sharing on or off from the "..." menu after the sandbox is already running, with no .wsb file involved. A hardened configuration file is therefore a default, not a boundary. Policy is what makes it a boundary - and when a user hits a policy-blocked setting, Windows Sandbox tells them so, with the message "The following settings are enforced by your IT administrator."

Proof it worked: real audit output

The companion script is Get-SandboxConfigAudit.ps1. It reads the feature state, the prerequisites, the binaries, the services, the policy key and every .wsb file it can find, then resolves each element to its effective value and names the consequence of the risky combinations. It never enables the feature and never launches a sandbox.

Below is a genuine run on a Windows 11 Enterprise device, trimmed for length, against two test configuration files: one written the way people copy them off the internet, one hardened. The device identifiers are unchanged because there are none to redact.

PowerShell 5.1 - run elevated - genuine run, trimmed
PS C:\> .\Get-SandboxConfigAudit.ps1 -Path C:\Triage\Configs 1. Optional feature: Containers-DisposableClientVM [OK] Feature state Disabled [INFO] Display name Windows Sandbox [INFO] Restart required Possible 2. Documented prerequisites [OK] Edition Microsoft Windows 11 Enterprise [INFO] Build 26200 [OK] Physical memory 31402 MB (documented minimum 4096 MB) [OK] Logical processors 16 (documented minimum 2) [OK] Hypervisor present True 4. Services the sandbox depends on [INFO] vmcompute Hyper-V Host Compute Service | Running | Manual [INFO] HvHost HV Host Service | Running | Manual 5. Sandbox policy state [WARN] Policy key absent - no Windows Sandbox policy is applied # This WARN is the finding that matters on an unmanaged fleet: with no policy, a .wsb # file can ask for anything the schema allows. --- C:\Triage\Configs\RiskyTriage.wsb [INFO] Networking on [default (element absent)] [INFO] ClipboardRedirection on [default (element absent)] [INFO] vGPU on [default (element absent)] [WARN] LogonCommand explorer.exe C:\temp [HIGH] ReadOnly read-write [HIGH] Write-enabled host folder mapped into the sandbox: C:\Users\Public\Downloads [HIGH] Networking ON together with a write-enabled mapped host folder. [HIGH] Copied-off-the-internet default posture: networking + clipboard + vGPU all ON. --- C:\Triage\Configs\Hardened.wsb [INFO] Networking off [explicit] [INFO] ClipboardRedirection off [explicit] [INFO] ProtectedClient on [explicit] [OK] ReadOnly read-only [OK] No risky combination detected in this file. Summary .wsb files audited : 2 HIGH risk findings : 3 Failed reads : 0 RESULT: HIGH RISK CONFIGURATION FOUND. See the HIGH lines above. # Healthy: the hardened file produces zero HIGH lines and exit code 0. # Broken: three HIGH lines and exit 1. Note that RiskyTriage.wsb declares NONE of the # three risky toggles - it inherits them from the defaults, which is exactly # why the script reports effective values rather than just what the XML says.

Read that output as three separate confirmations. The feature state proves the device cannot currently run a sandbox at all. The absent policy key proves that if someone enables the feature, nothing constrains the configuration. And the per-file breakdown proves the point of the whole post: the dangerous file is dangerous because of what it omits, not because of what it declares.

When policy is in place and a user launches a .wsb file that asks for something blocked, the behaviour is documented and visible. Microsoft's troubleshooting table lists the message "The following settings are enforced by your IT administrator." against the cause ".wsb file has a setting enabled that is controlled via group policy." That message is your proof that layer two is doing its job. And the FAQ says the same thing from the user's side: "You can't make changes to properties if they're controlled by Group Policy."

Tip: the fastest safe posture for one-off triage. Networking Disable, vGPU Disable, clipboard Disable, and the folder holding the suspect file mapped with ReadOnly true. Microsoft recommends exactly this shape on its own overview page for running untrusted applications: open the sandbox with networking disabled and map the folder containing the file in read-only mode. Save it as Triage.wsb once and use it forever.

References

Microsoft official

Community deep-dives

Both of the following were fetched and confirmed to load and to be genuinely on this topic.

AuthorPostWhy it is worth your time
Peter van der WoudeEasily enforcing specific Windows Sandbox configurationsWalks the custom-profile OMA-URI route for the WindowsSandbox policies, screenshot by screenshot
Peter van der WoudeSimply enabling Windows SandboxThe Intune script pattern for enabling the optional feature on Pro and Enterprise devices
PowerShell — companion script

Download it from Imran76Awan/Windows-11-Scripts — no sign-in required. It is read-only: it reports and never changes a device or anything in Intune. Validate it in your own environment before relying on the output.

Get-SandboxConfigAudit.ps1 — Read-only audit of Windows Sandbox availability, prerequisites, policy state and
View all scripts on GitHub
Was this post helpful?
React below — no account needed
Share this post
LinkedIn X / Twitter Reddit Bluesky

More from EndpointWeekly

Windows 11
DNS over HTTPS in Windows 11: encrypting resolution without…
Windows 11 ships a DNS over HTTPS client that most estates have never configured. Here is…
Windows 11
Hardening Remote Desktop on Windows 11: NLA, encryption level,…
Enabling RDP is one toggle. Hardening it is a dozen settings across the registry, Group…
Windows 11
Windows Protected Print: The Driverless Future, and What Stops…
Windows protected print mode blocks every third-party print driver and prints only…