Disposable Windows Sandbox for testing software you'd rather not install on your main machine. Every session starts clean, runs isolated from your host, and is destroyed on close — nothing persists. One config file, one command, plug and play.
- Windows 10/11 Pro or Enterprise
- Windows Sandbox enabled
git clone https://github.com/26zl/windows-sandbox-dev.git
cd windows-sandbox-dev
.\setup.ps1 # generate sandbox.wsb (instant)
start sandbox.wsb # launch sandbox — winget installs everything automaticallySetup takes around 10–15 minutes inside the sandbox. A PowerShell window shows progress — wait until it says "Sandbox ready" before you start.
Configured in tools.json. Disable any tool with "enabled": false. Add new tools with their winget ID.
| Category | Tools |
|---|---|
| Editor | Notepad++ |
| Languages | Go, Rust, Python 3.13, Amazon Corretto (JDK 21), Node.js LTS, Ruby 3.3, PHP 8.4, Zig |
| Build tools | Visual Studio Build Tools (C++ workload), CMake |
| Utilities | 7-Zip, Git, Sysinternals Suite |
| Runtime | VC++ Redist x64+x86, .NET 9 Desktop Runtime, .NET 9 SDK, PowerShell 7 |
All tools are installed via winget — always latest versions, no URLs to maintain.
Enabled automatically so you can see what software does inside the sandbox:
- Sysmon with SwiftOnSecurity config — tracks process creation, network connections, file changes
- PowerShell script block + module logging
- Process creation auditing with command-line capture
- Telemetry and Windows Error Reporting disabled
- Dark mode
- File extensions, hidden files, and protected OS files visible
- Classic context menu (Windows 11)
- Long path support, clipboard history
- PowerShell/CMD "Open Here" context menu entries
- New Text Document / PowerShell Script in context menu
- 12 GB RAM, ProtectedClient enabled
- Networking enabled (required for winget), vGPU/audio/video/printer disabled
scripts/mapped read-only
- Find the winget ID:
winget search <name> - Add entry in
tools.json:{ "name": "...", "wingetId": "...", "enabled": true } - Update this README
tools.json ← all tools (winget IDs)
setup.ps1 ← run once: generate sandbox.wsb
sandbox.wsb.template ← sandbox config template
scripts/autostart.ps1 ← runs inside sandbox automatically
Install log inside sandbox: %TEMP%\sandbox-install.log