我如何使用 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 多名訂閱者的信賴。

姓名電子郵件免費加入