Windows 沙盒是内置于 Windows 部分版本中的一次性 Windows 虚拟机,它简单免费,启动速度快,并且用完即删。在需要使用不适合安装在实体机器上的应用、亦或者测试安全性未知的文件时,Windows 沙盒都是非常实用的工具。
然而,和真正的虚拟机相比,它的自定义空间「似乎」很小:沙盒默认屏蔽了摄像头和打印机,如此一来部分应用就无法运行;想要在沙盒中安装软件要么从主机复制安装包,要么再次下载;由于沙盒是一次性的,有用的文件还要在销毁沙盒前手动复制进主机……
幸运的是,以上问题都能通过专属于 Windows 沙盒的配置文件解决。Windows 沙盒配置文件为纯文本,后缀名 .wsb
,可以用于定义沙盒的 vGPU 状态、网络信号、文件夹映射等属性。下文将通过三个具体实例演示配置文件的使用方法。最后一节会列出所有可用配置项供大家参考。
Windows 沙盒的开启方法请参考此文:
用例一:允许沙盒应用使用摄像头,临时运行视频会议应用
让我们从最简单的例子开始讲起,介绍配置文件的新建和使用流程。
假设我们需要在沙盒中运行一个视频会议软件,默认情况下,鉴于一些安全问题,沙盒屏蔽了应用对摄像头的访问。因而下面我们需要配置沙盒允许视频输入。
在桌面通过右键新建一个文本文件。确保你能看到该文件的后缀名 .txt
。如果看不到,需要勾选 文件资源管理器 > 查看(顶部) > 显示 > 文件扩展名
。
双击此文件进入编辑界面。输入:
<Configuration>
<VideoInput>Enable</VideoInput>
</Configuration>
沙盒的配置文件非常好理解,字母大小写任意,结构类似俄罗斯套娃:最外面一层 <Configuration> </Configuration>
是最大的娃娃,声明配置文件的开始和结束。里面一层娃娃 <VideoInput></VideoInput>
则是声明视频输入设置。Enable
赋予视频输入「启用」的状态。
接下来,将此文件的后缀名改为 .wsb
,该文件此时会拥有和 Windows 沙盒应用一样图标。最后,双击文件即可使用此配置文件打开沙盒。可以发现,沙盒中应用已经能够正确检测到摄像头了。
用例二:配置文件夹映射,临时使用迅雷下载文件
由于部分软件安装时会有一些捆绑软件,安装后又会在磁盘各处创建未知用途的文件夹,「推荐」用户修改某些文件的默认打开方式,安装和使用过程可谓险象环生。如果使用沙盒运行这些软件,那么每次准备它们的安装包,复制它们生产的少数有用文件到宿主系统却又比较麻烦。
此时,我们可以选择将主机的一个文件夹映射到沙盒的文件夹中,使用此文件夹放置安装包和下载的有用文件,即使沙盒关闭,文件也会保留。
假设我们需要临时使用迅雷下载一个文件,在 D:\Sandbox
目录下准备好迅雷的安装包 XunLei.exe
。按照用例一中的流程,新建一个文本文件,写入:
<Configuration>
<MappedFolders>
<MappedFolder>
<HostFolder>D:\Sandbox</HostFolder>
<SandboxFolder>C:\Users\WDAGUtilityAccount\Downloads</SandboxFolder>
<ReadOnly>false</ReadOnly>
</MappedFolder>
</MappedFolders>
<LogonCommand>
<Command>C:\Users\WDAGUtilityAccount\Downloads\XunLei.exe</Command>
</LogonCommand>
</Configuration>
此配置文件将主机的 D:\Sandbox
目录映射到沙盒系统中的下载文件夹,打开沙盒时将自动启动迅雷安装程序。
和第一例一样,上面的配置文件也是很简单的俄罗斯套娃结构。最大的娃娃 <Configuration>
下,有两个小娃娃:用于配置文件夹映射的 <MappedFolder>
和用于配置启动命令的 <LogonCommand>
。两个小娃娃下又有更小的、用于进行更精细配置的娃娃。命令的用途能直接从它们的名称中猜出。值得一提的是,沙盒中的系统用户名一定是 WDAGUtilityAccount
,因此其文件结构是固定的。
更改文本文件名称为 Download.wsb
,双击运行:
下载的文件会保留在本机,任务完成后我们可以放心地关闭沙盒。
用例三:配置隔离环境,测试安全性未知的应用
假设我们从 QQ 群中获得了一个安全性未知的电脑程序安装包,想要检查该安装包是否有害,安装过程中会不会有猫腻,此时同样可以利用配置文件获得一个相对安全的测试环境。
有了前两节的铺垫,下面的配置文件理解起来应该不难:
<Configuration>
<VGpu>Disable</VGpu>
<Networking>Disable</Networking>
<MemoryInMB>8192</MemoryInMB>
<ProtectedClient>Enable</ProtectedClient>
<MappedFolders>
<MappedFolder>
<HostFolder>D:\Sandbox</HostFolder>
<SandboxFolder>C:\Users\WDAGUtilityAccount\Downloads</SandboxFolder>
<ReadOnly>true</ReadOnly>
</MappedFolder>
</MappedFolders>
<LogonCommand>
<Command>explorer.exe C:\users\WDAGUtilityAccount\Downloads</Command>
</LogonCommand>
</Configuration>
此配置文件仍然映射 D:\Sandbox
到沙盒的下载文件夹中,设置沙盒启动时自动打开此目录,但其权限为只读;关闭了网络,vGPU,开启了客户端保护功能以限制数据交换;此外,由于担心默认的 4 GB 内存不够用,我还用 <MemoryInMB>
将沙盒系统的内存调整为 8 GB。
以上配置创建了一个相对安全的的封闭运行环境,实际情况下可根据需要适当放宽限制。但不建议普通用户将沙盒用于测试那些已知的恶意病毒。
全局设置及可配置项列表
上面三个例子是通过配置文件的形式定义沙盒的属性,但是不少属性其实有全局默认设置,例如前述的视频输入默认为禁用,vGPU 默认为启用。全局设置可通过 组策略 > 计算机配置 > 管理模板 > Windows 组件 > Windows 沙盒
调整。配置文件的优先级高于全局设置。
沙盒的全部可配置项能在 Windows 文档 中找到,笔者整理翻译如下:
键 | 描述 | 值 |
vGPU | 虚拟 GPU | Enable / Disable;默认打开 |
Networking | 网络 | 同上 |
AudioInput | 音频 | 同上 |
ClipboardRedirection | 共享剪贴板 | 同上 |
PrinterRedirection | 共享打印机 | Enable / Disable;默认关闭 |
VideoInput | 视频 | Enable / Disable;默认关闭 |
ProtectedClient
| 额外的安全措施 | Enable / Disable;默认关闭;开启会导致用户无法在主机和沙盒间复制粘贴文件
|
MemoryInMB | 沙盒的内存,单位 MB | 例如 4096;8192 |
LogonCommand | 开机自动运行命令 | <Command>命令</Command> |
MappedFolders | 文件夹映射 | <HostFolder>:主机文件夹; <SandboxFolder>:沙盒文件; <ReadOnly>:true/false,权限是否为只读 |
封面:Computer vector created by sentavio
> 下载 少数派 2.0 客户端、关注 少数派公众号,解锁全新阅读体验 📰
> 实用、好用的 正版软件,少数派为你呈现 🚀