我如何使用 PowerShell 脚本在 Windows Sandbox 中安装 Microsoft Store

Enda

Windows 附带了一个不太为人所知的功能,称为 Windows Sandbox,它是可执行文件的测试环境。默认情况下,此功能不支持 Microsoft Store,但我们找到了一个简单的解决方法,可以使用 PowerShell 脚本启用它。

Windows Sandbox 于 2018 年底随 Windows 10 版本 1903 一起推出。其想法是提供一个隔离的临时虚拟 PC 环境,您可以在其中安装可疑软件或打开粗略文档,而不会影响您的实际 PC。

运行 Sandbox 所需的一切都内置于 Windows 中,因此您无需安装虚拟硬盘。不过,该功能仅适用于 Windows 11 专业版和企业版。相同版本的Windows 10也支持Sandbox。

沙盒中安装的软件不会以任何方式影响您的电脑,一旦您关闭它,所有应用程序安装、文件和更改都将被删除。这是因为它使用硬件辅助虚拟化来创建独特的内核环境,并使用 Microsoft 的虚拟机管理程序。因此,Sandbox 的运行与主机 PC 完全隔离,每次打开它就像重新安装 Windows 一样。

这种安全性,加上集成内核调度程序、智能内存管理和虚拟 GPU 带来的快速用户体验,使得 Sandbox 比虚拟机更适合测试应用程序。

然而,缺乏对 Microsoft Store 的本机支持令人失望,因为该商店现在拥有大量应用程序。

为什么我想要 Windows Sandbox 中的 Microsoft Store

正如您所料,我们在 Windows 最新版上测试了很多软件,并且我们有相当一部分应用程序安装导致系统陷入困境,这意味着我们必须多次重置电脑。

自从了解 Sandbox 以来,我就用它来运行可执行文件、检查安装程序以及打开从不可靠来源下载的文件。

建议阅读:微软将于 2025 年从 Windows 中淘汰 PowerShell 2.0

顺便说一下,您可以直接将桌面上的文件拖放到沙盒中。如此简单的文件传输在传统虚拟机中是不可能的。

我想尝试的一些工具和应用程序,尤其是较小的实用程序或媒体应用程序,仅在 Microsoft Store 中提供。当然,我可以旁加载安装包,但这违背了快速启动安全测试环境的目的。

但通过 Sandbox 中的 Microsoft Store,我可以测试 Store 应用程序在全新 Windows 安装中的行为方式。

在沙盒中安装 Microsoft Store 的先决条件

如果您已经在 PC 上启用了 Sandbox,您只需要知道如何粘贴和执行 PowerShell 脚本即可。

但如果您尚未启用 Sandbox,请记住您无法在 Windows Home 版本上使用它。您需要专业版或企业版。

那么您的 PC 还必须在 BIOS/UEFI 中启用硬件虚拟化。

  • 要检查它是否已打开,请按 Ctrl + Shift + Esc 打开任务管理器。
  • 转到“性能”选项卡,然后选择“CPU”。
  • 检查是否虚拟化:“启用“ 或者 ”残疾人”在右下角。

默认情况下它很可能是启用的,但如果它是禁用的,请继续进行 BIOS 设置。

  • 为此,请重新启动您的电脑,并在启动时按Esc键重复按键。
  • BIOS菜单,转到先进的,CPU配置, 或者安全选项卡
  • 寻找任一英特尔VT-x或者AMD-V。将其设置为启用
  • 按照屏幕上的说明保存更改并退出 BIOS。

启用虚拟化后,你的电脑就可以使用 Sandbox,随后可以使用 Sandbox 中的 Microsoft Store。

但如果您使用的是虚拟机(例如 VMware),则需要启用嵌套虚拟化。

安装应用商店的 PowerShell 脚本不需要外部依赖项,但它会从 Microsoft 的服务器获取应用商店安装文件,因此您需要在沙盒会话中具有活动的 Internet 连接。

请注意,从技术上讲,该脚本也可以在沙盒之外运行,如果这样做,它将尝试在您的主系统上安装 Microsoft Store。因此,在运行脚本之前,请确保您位于 Windows Sandbox 环境中。

如何在 Windows 11 中启用沙盒

  1. 按 Windows 键 + S 打开搜索并输入“Windows 功能”,您将看到“打开或关闭 Windows 功能”选项。单击它。
  2. 将弹出一个旧窗口。向下滚动并勾选 Windows Sandbox 的复选框。
  3. 单击“确定”。 Windows 现在将安装该功能。
  4. 重新启动您的电脑。
  5. 重启后,按Windows键,搜索Windows Sandbox,看看是否安装成功。

VMware中的Windows Sandbox呈灰色时如何安装?

如果您使用VMware在虚拟机中运行Windows 11 Pro,您将看到旧窗口将显示Sandbox淡出。

为了使其可用,您需要首先启用嵌套虚拟化:

  1. 确保您的 Windows 11 Pro 主机已启用虚拟化。
  2. 关闭 Windows 11 虚拟机。
  3. 在 VMware Workstation 中,右键单击您的虚拟机并选择“设置”。
  4. 在“处理器”选项卡下,您必须选中“虚拟化 Intel VT-x/EPT 或 AMD-V/RVI”框。现在,虚拟机内部启用了嵌套虚拟化。
  5. 要在 VM 中安装 Sandbox,请启动 VM,然后打开“打开或关闭 Windows 功能”并勾选 Windows Sandbox 复选框。
  6. 重新启动您的虚拟机。

请记住,如果您的虚拟机已经相当滞后,则沙盒即使具有轻量级构建,也可能会占用更多资源。确保分配有足够的 RAM 和 CPU 内核来处理这种额外的重量。

Sandbox 启动并运行后,您可以使用 PowerShell 脚本在其中安装 Microsoft Store可以在 Github 上找到

该脚本实际上做了什么

我们仔细研究了整个剧本,幸运的是,它非常简单。虽然它看起来很吓人,但实际上,在更高的层面上,它正在执行一组非常系统的步骤:

  1. 该脚本首先通过检查用户名 (WDAGUtilityAccount) 来验证它是否在 Windows Sandbox 内运行。如果没有,它会警告您。
  2. 该脚本发送“GetCookie”请求以使用 Microsoft 官方 Windows Update Web 服务进行身份验证。这就是告诉 Microsoft 的服务器您可以下载官方应用程序包的原因。
  3. 使用该 cookie,脚本会发送另一个请求 (SyncUpdates),专门询问链接到 Microsoft Store 类别 ID 的包。这将返回文件列表,包括应用程序包及其依赖项。
  4. 然后,它获取每个文件的直接下载 URL,例如 Store 应用程序本身以及依赖项。
  5. 所有这些文件都保存到沙盒下载文件夹的子文件夹中。
  6. 首先使用 PowerShell 的 Add-AppxPackage 命令安装依赖项。
  7. 最后,安装主 Microsoft.WindowsStore 包。除非其支持框架已经启动并运行,否则商店不会启动。
  8. 最后,脚本在注册表中将 Sandbox 区域设置为 US,因为 Store 在 Sandbox 的默认“World”区域中无法正常工作。

使用 PowerShell 脚本在 Windows Sandbox 中安装 Microsoft Store

在 Sandbox 中安装 Store 的脚本已在 GitHub 上公开提供。您不必克隆存储库或使用任何 GitHub 命令。

这就是我所做的:

  1. 打开这个GitHub 链接在主机的浏览器中。
  2. 直接从页面复制整个 PowerShell 代码。代码块的右上角有一个按钮,上面写着“复制原始文件”。单击它或手动选择文本并复制它。
  3. 在您的 PC 上打开 Windows Sandbox。
  4. 在沙盒中,打开记事本。
  5. 将复制的文本粘贴到记事本中。
  6. 使用 .ps1 扩展名保存文件(例如 Install-Store.ps1)。保存时选择保存类型:所有文件。它不应该只是.txt。

我将其保存在 Sandbox 内的桌面上,因此很容易找到。

在 Windows Sandbox 中运行 Microsoft Store 脚本

保存 .ps1 文件后,以下是我安装 Microsoft Store 的方法(请记住以下步骤是在沙盒内完成的,而不是在主机上完成):

  1. 右键单击 Sandbox 中的“开始”按钮,然后打开 Windows 终端(管理员)或 PowerShell(管理员)。如果您将其保存在桌面上,请键入: cd $env:USERPROFILEDesktop
  2. PowerShell 可能会出于安全原因阻止脚本,因此要暂时允许它,请运行以下命令:Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process
  3. 此更改非常安全,因为关闭当前沙盒会话后所有内容都会重置。
  4. 要运行该脚本,请键入以下命令(根据您提供的名称进行更改):
    .安装商店.ps1
  5. 您将看到该脚本直接从 Microsoft 的服务器获取文件。您将看到它下载 Microsoft.UI.Xaml、.NET Framework 依赖项等包,最后是 Microsoft.WindowsStore。
  6. 该脚本将自动安装 Microsoft Store 应用程序。

现在,按 Sandbox 中的“开始”菜单并查找“商店”。等待它加载,看看您是否可以像通常在主机 PC 上那样安装任何应用程序。

关闭 Sandbox 后,商店将被删除。因此,每次您想要将 Store 存储在 Sandbox 中时,都需要重新运行脚本。

尽管拥有令人惊叹的 Windows 测试环境,并且尽管 Microsoft Store 越来越受欢迎,但这家软件巨头仍然没有推广 Sandbox,或者为 Sandbox 中的 Store 提供本机支持。

我们的猜测是,该功能是为想要经常检查新软件的企业用户而设计的。最大的遗憾是 Windows Home 版本不支持 Sandbox,尽管大多数 OEM Windows 笔记本电脑默认提供它。

添加为首选来源


支持独立博客

支持 Ko-Fi
对 Patreon 的支持

提问(论坛)

WL通讯

WL通讯!

掌握最新的 Windows、IT 和 AI 更新。受到 50,000 多名订阅者的信赖。

姓名电子邮件免费加入