Contents

Windows Sandbox 參數調整與自動化設定指南

前言

Windows Sandbox 是微軟提供的一種輕量級虛擬化環境,適合用來在隔離的空間中執行可疑程式或測試新軟體。然而,預設的 Sandbox 環境往往非常簡約,為了提升開發與測試效率,我們通常需要透過「資料夾映射(Mapped Folders)」以及「自動化啟動腳本(Logon Command)」來進行客製化。

本文將整理如何透過自定義設定檔,讓 Windows Sandbox 在啟動時自動掛載必要的開發工具與執行初始化指令。

核心配置說明

要客製化 Windows Sandbox,我們需要建立一個 .wsconfig 檔案。以下是本次實作的核心配置重點:

1. 資料夾映射 (Mapped Folders)

透過 MappedFolders 標籤,我們可以將主機(Host)上的資料夾掛載到 Sandbox 中。這對於開發者來說非常重要,可以讓我們在 Sandbox 中直接存取本地的專案程式碼或腳本工具。

  • 唯讀模式 (ReadOnly):建議將存放工具腳本的資料夾設為 true,以確保 Sandbox 環境不會意外修改主機上的原始檔案。
  • 讀寫模式:對於需要進行編譯或產生輸出結果的專案目錄,則可設為 false

2. 自動化啟動指令 (Logon Command)

利用 LogonCommand,我們可以在 Sandbox 啟動時自動執行特定的 PowerShell 指令。這可以用來自動安裝套件、設定環境變數或執行初始化腳本。

實作範例

以下是一個完整的 .wsconfig 設定範例。您可以根據實際需求修改 HostFolder 的路徑:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
<Configuration>
  <MappedFolders>
    <!-- 掛載工具腳本資料夾,設為唯讀 -->
    <MappedFolder>
      <HostFolder>C:\SandboxScripts</HostFolder>
      <ReadOnly>true</ReadOnly>
    </MappedFolder>
    <!-- 掛載開發專案目錄,允許讀寫 -->
    <MappedFolder>
      <HostFolder>C:\CodingProjects</HostFolder>
      <ReadOnly>false</ReadOnly>
    </MappedFolder>
  </MappedFolders>
  
  <LogonCommand>
    <!-- 啟動時自動執行 autorun.ps1 腳本 -->
    <Command>powershell -executionpolicy unrestricted -command "start powershell {-noexit -file C:\SandboxScripts\autorun.ps1}"</Command>
  </LogonCommand>
</Configuration>

參考資源與進階教學

如果您需要更深入的技術細節,可以參考以下相關資源:

總結

透過 .wsconfig 檔案的精準配置,我們可以將 Windows Sandbox 從一個單純的隔離空間,轉變為一個高度自動化且符合開發需求的測試環境。這不僅能節省重複設定的時間,也能確保每次啟動時的環境一致性。