Windows 沙盒支持简单的配置文件,为沙盒提供最少的自定义参数集。 此功能可用于 Windows 10 版本 18342 或更高版本。 Windows 沙盒配置文件的格式设置为 XML,并且通过文件扩展名与沙 .wsb
盒关联。
通过配置文件,用户可以控制 Windows 沙盒的以下方面:
- **vGPU (虚拟化 GPU) : **启用或禁用虚拟化 GPU。 如果禁用 vGPU,沙盒将使用 WINDOWS 高级栅格化平台 (WARP) 。
- 网络:启用或禁用沙盒中的网络访问。
- 映射的文件夹:使用读取或 写入权限共享 主机 中的 文件夹。 请注意,公开主机目录可能会允许恶意软件影响系统或窃取数据。
- 登录命令:在 Windows 沙盒启动时执行的命令。
- 音频输入:将主机的麦克风输入共享到沙盒中。
- 视频输入:将主机的网络摄像机输入共享到沙盒中。
- 受保护的客户端:将 RDP 会话上增强的安全设置放在沙盒中。
- 打印机重定向:将主机中的打印机共享到沙盒中。
- 剪贴板重定向:与沙盒共享主机剪贴板,以便可以来回粘贴文本和文件。
- 内存 (以 MB为单位):要分配给沙盒的内存量(以 MB 为单位)。
创建配置文件
若要创建简单的配置文件,请运行:
- 打开纯文本编辑器或源代码编辑器 (例如记事本、Visual Studio代码等)
- 插入以下行:
XML复制
<Configuration>
</Configuration>
- 在两行之间添加适当的配置文本。 有关详细信息,请参阅正确的语法和以下示例。
- 使用所需名称保存文件,但请确保其文件名扩展名为
.wsb
。 在记事本中,应该将文件名和扩展名放在双引号内,例如"My config file.wsb"
。
使用配置文件
若要使用配置文件,请双击该文件以根据其设置启动 Windows 沙盒。 您还可以通过命令行调用它,如下所示:
batch复制
C:\Temp> MyConfigFile.wsb
关键字、值和限制
vGPU
启用或禁用 GPU 共享。
<vGPU>value</vGPU>
支持的值:
- 启用:在沙盒中启用 vGPU 支持。
- 禁用:禁用沙盒中的 vGPU 支持。 如果设置此值,沙盒将使用软件呈现,这可能慢于虚拟化 GPU。
- 默认 这是 vGPU 支持的默认值。 当前,这意味着 vGPU 处于禁用状态。
备注
启用虚拟化 GPU 可能会增加沙盒的攻击面。
网络
启用或禁用沙盒中的网络。 可以禁用网络访问,以减少沙盒公开的受攻击面。
<Networking>value</Networking>
支持的值:
- 禁用:禁用沙盒中的网络。
- 默认值:这是网络支持的默认值。 此值在主机上创建虚拟交换机,然后通过虚拟 NIC 将沙盒连接到它,从而启用网络。
备注
启用网络可能会向内部网络公开不受信任的应用程序。
PS.如果不能上网,参考此链接:Windows 10 系统 Sandbox 沙盒无法联网?桥接虚拟网卡即可-缙哥哥
映射的文件夹
文件夹数组,每个文件夹表示主机上将共享到沙盒中指定路径上的位置。 目前不支持相对路径。 如果未指定路径,文件夹将映射到容器用户的桌面。
XML复制
<MappedFolders>
<MappedFolder>
<HostFolder>absolute path to the host folder</HostFolder>
<SandboxFolder>absolute path to the sandbox folder</SandboxFolder>
<ReadOnly>value</ReadOnly>
</MappedFolder>
<MappedFolder>
...
</MappedFolder>
</MappedFolders>
HostFolder: 指定主机上要共享到沙盒中的文件夹。 请注意,该文件夹必须已存在于主机上,否则容器将无法启动。
SandboxFolder: 指定将文件夹映射到的沙盒中的目标。 如果文件夹不存在,将创建该文件夹。 如果未指定沙盒文件夹,该文件夹将映射到容器桌面。
ReadOnly:如果 为 true, 则强制从容器内对共享文件夹进行只读访问。 支持的值 :true / false。 默认值为 false。
备注
沙盒中的应用可能会破坏从主机映射的文件和文件夹,或者可能会影响主机。
登录命令
指定将在沙盒登录后自动调用的单个命令。 沙盒中的应用在容器用户帐户下运行。
XML复制
<LogonCommand>
<Command>command to be invoked</Command>
</LogonCommand>
命令:在登录后将执行的容器内的可执行文件或脚本的路径。
备注
尽管非常简单的命令 (如启动可执行文件或脚本) ,但涉及多个步骤的更复杂的方案应放入脚本文件中。 此脚本文件可以通过共享文件夹映射到容器中,然后通过 LogonCommand 指令执行。
音频输入
启用或禁用对沙盒的音频输入。
<AudioInput>value</AudioInput>
支持的值:
- 启用:在沙盒中启用音频输入。 如果设置此值,沙盒将能够接收来自用户的音频输入。 使用麦克风的应用程序可能需要此功能。
- 禁用:禁用沙盒中的音频输入。 如果设置此值,则沙盒无法接收来自用户的音频输入。 使用麦克风的应用程序可能无法通过此设置正常运行。
- 默认值:这是音频输入支持的默认值。 当前,这意味着音频输入已启用。
备注
将主机音频输入公开到容器可能有安全隐患。
视频输入
启用或禁用对沙盒的视频输入。
<VideoInput>value</VideoInput>
支持的值:
- 启用:在沙盒中启用视频输入。
- 禁用:禁用沙盒中的视频输入。 使用视频输入的应用程序在沙盒中可能无法正常工作。
- 默认值:这是视频输入支持的默认值。 当前,这意味着视频输入处于禁用状态。 使用视频输入的应用程序在沙盒中可能无法正常工作。
备注
将主机视频输入公开到容器可能有安全隐患。
受保护的客户端
将其他安全设置应用于沙盒远程桌面客户端,从而减少其攻击面。
<ProtectedClient>value</ProtectedClient>
支持的值:
- 启用:在受保护的客户端模式下运行 Windows 沙盒。 如果设置此值,沙盒运行时将启用额外的安全缓解。
- 禁用:在标准模式下运行沙盒,无需额外的安全缓解。
- 默认值:这是受保护客户端模式的默认值。 当前,这意味着沙盒不会在受保护的客户端模式下运行。
备注
此设置可能会限制用户在沙盒中复制/粘贴文件的能力。
打印机重定向
启用或禁用从主机到沙盒的打印机共享。
<PrinterRedirection>value</PrinterRedirection>
支持的值:
- 启用:允许将主机打印机共享到沙盒中。
- 禁用:禁用沙盒中的打印机重定向。 如果设置此值,则沙盒无法从主机查看打印机。
- 默认值:这是打印机重定向支持的默认值。 当前,这意味着打印机重定向处于禁用状态。
剪贴板重定向
启用或禁用与沙盒共享主机剪贴板。
<ClipboardRedirection>value</ClipboardRedirection>
支持的值:
- 禁用:禁用沙盒中的剪贴板重定向。 如果设置此值,将限制复制/粘贴到沙盒中和从沙盒中复制/粘贴。
- 默认值:这是剪贴板重定向的默认值。 当前,主机和沙盒之间允许复制/粘贴在默认 下。
内存(以 MB 为单位)
指定沙盒可以使用的内存量(以 MB (MB) )。
<MemoryInMB>value</MemoryInMB>
如果指定的内存值不足以启动沙盒,它将自动增加到所需的最小数量。
示例 1
以下配置文件可用于在沙盒内轻松测试下载的文件。 为此,禁用网络和 vGPU,并且允许沙盒对共享下载文件夹进行只读访问。 为方便起见,登录命令在启动时打开沙盒内的下载文件夹。
Downloads.wsb
XML复制
<Configuration>
<VGpu>Disable</VGpu>
<Networking>Disable</Networking>
<MappedFolders>
<MappedFolder>
<HostFolder>C:\Users\Public\Downloads</HostFolder>
<SandboxFolder>C:\Users\WDAGUtilityAccount\Downloads</SandboxFolder>
<ReadOnly>true</ReadOnly>
</MappedFolder>
</MappedFolders>
<LogonCommand>
<Command>explorer.exe C:\users\WDAGUtilityAccount\Downloads</Command>
</LogonCommand>
</Configuration>
示例 2
以下代码配置文件沙盒Visual Studio代码,这需要稍微复杂的 LogonCommand 设置。
将两个文件夹映射到沙盒中;第一 (SandboxScripts) VSCodeInstall.cmd,这将安装和运行 Visual Studio Code。 CodeProjects (的第二个文件夹) 包含开发人员想要使用代码修改的项目Visual Studio文件。
在Visual Studio代码安装程序脚本已映射到沙盒后,LogonCommand 可以引用它。
VSCodeInstall.cmd
batch复制
REM Download Visual Studio Code
curl -L "https://update.code.visualstudio.com/latest/win32-x64-user/stable" --output C:\users\WDAGUtilityAccount\Desktop\vscode.exe
REM Install and run Visual Studio Code
C:\users\WDAGUtilityAccount\Desktop\vscode.exe /verysilent /suppressmsgboxes
VSCode.wsb
XML复制
<Configuration>
<MappedFolders>
<MappedFolder>
<HostFolder>C:\SandboxScripts</HostFolder>
<ReadOnly>true</ReadOnly>
</MappedFolder>
<MappedFolder>
<HostFolder>C:\CodingProjects</HostFolder>
<ReadOnly>false</ReadOnly>
</MappedFolder>
</MappedFolders>
<LogonCommand>
<Command>C:\Users\WDAGUtilityAccount\Desktop\SandboxScripts\VSCodeInstall.cmd</Command>
</LogonCommand>
</Configuration>