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虚拟 GPUEnable / 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 客户端、关注 少数派公众号,解锁全新阅读体验 📰

> 实用、好用的 正版软件,少数派为你呈现 🚀