Windows Sandbox เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการทดสอบแอปพลิเคชันและยูทิลิตี้ต่างๆ ในสภาพแวดล้อมที่แยกต่างหาก แต่ผู้ใช้มักต้องการสร้างสภาพแวดล้อมแบบกำหนดเองเพื่อทดสอบซอฟต์แวร์และบริการต่างๆ ซึ่งเป็นข้อได้เปรียบของเครื่องเสมือน (Virtual Machines) มากกว่า Windows Sandbox แต่ Microsoft ได้ฟังคำติชมจากผู้ใช้และเพิ่มการรองรับการสร้างสภาพแวดล้อมการกำหนดค่าทำเองสำหรับ Windows Sandbox แล้ว
กำหนดค่าและใช้งาน Windows Sandbox

สร้างสภาพแวดล้อมการกำหนดค่าทำเองสำหรับ Windows Sandbox
ไฟล์การกำหนดค่าสำหรับสภาพแวดล้อม Windows Sandbox อยู่ในรูปแบบ XML และถูกอ่านเป็นไฟล์ .WSB ปัจจุบัน Windows Sandbox รองรับการกำหนดค่าเพียง 4 อย่างเท่านั้น:
- vGPU (Virtualized GPU)
- เครือข่าย (Networking)
- โฟลเดอร์ร่วมใช้ (Shared folders)
- สคริปต์เริ่มต้น (Startup script)
กลไกการทำงานของไฟล์ WSB มีดังนี้:

สิ่งนี้ให้ผู้ใช้ควบคุมสภาพแวดล้อมที่แยกต่างหากใน Windows Sandbox ได้มากขึ้น
คุณจะต้องสร้างหรือเปิดไฟล์ WSB เหล่านี้โดยใช้ Notepad หรือ Visual Studio Code
นี่คือวิธีการกำหนดค่าสำหรับแง่มุมที่กล่าวมาข้างต้น:

1. vGPU
ไวยากรณ์สำหรับแง่มุม vGPU ของ Windows Sandbox มีดังนี้:
<vGpu>VALUE</VGpu>
และค่าที่รองรับสำหรับแง่มุมนี้มีดังนี้:
- Disable: ใช้ค่านี้เพื่อปิดการรองรับ vGPU ใน Sandbox
- Default: ใช้ค่านี้เพื่อรักษาค่าเริ่มต้นและค่าปัจจุบันของการรองรับ vGPU
Microsoft ระบุว่า:
การเปิดใช้งาน GPU เสมือนอาจเพิ่มพื้นที่การโจมตีของ Sandbox
2. เครือข่าย (Networking)
ไวยากรณ์สำหรับแง่มุมเครือข่ายของ Windows Sandbox มีดังนี้:
<Networking>VALUE</Networking>
และค่าที่รองรับสำหรับแง่มุมนี้มีดังนี้:
- Disable: ใช้ค่านี้เพื่อปิดการรองรับเครือข่ายใน Sandbox
- Default: ใช้ค่านี้เพื่อรักษาค่าเริ่มต้นและค่าปัจจุบันของการรองรับเครือข่าย
Microsoft ระบุว่า:
การเปิดใช้งานเครือข่ายอาจทำให้แอปพลิเคชันที่ไม่น่าเชื่อถือเข้าถึงเครือข่ายภายในของคุณได้
3. โฟลเดอร์ร่วมใช้ (Shared folders)
ไวยากรณ์สำหรับแง่มุมโฟลเดอร์ร่วมใช้ของ Windows Sandbox มีดังนี้:
<MappedFolder> <HostFolder>PATH OF THE HOST FOLDER</HostFolder> <ReadOnly>VALUE</ReadOnly> </MappedFolder>
และส่วนประกอบย่อยที่รองรับสำหรับแง่มุมนี้มีดังนี้:
- HostFolder: ระบุโฟลเดอร์บนเครื่องโฮสต์ที่จะแชร์ไปยัง Sandbox โปรดทราบว่าโฟลเดอร์ต้องมีอยู่บนโฮสต์แล้ว มิฉะนั้นคอนเทนเนอร์จะเริ่มต้นไม่สำเร็จหากไม่พบโฟลเดอร์
- ReadOnly: หากเป็น true จะบังคับให้การเข้าถึงโฟลเดอร์ร่วมใช้จากภายในคอนเทนเนอร์เป็นแบบอ่านอย่างเดียว ค่าที่รองรับ: true/false
Microsoft ระบุว่า:
ไฟล์และโฟลเดอร์ที่แมปมาจากโฮสต์อาจถูกทำลายโดยแอปใน Sandbox หรืออาจส่งผลต่อโฮสต์
4. LogonCommand
ไวยากรณ์สำหรับแง่มุม LogonCommand ของ Windows Sandbox มีดังนี้:
<LogonCommand> <Command>COMMAND TO BE INVOKED ON STARTUP</Command> </LogonCommand>
และส่วนประกอบย่อยที่รองรับสำหรับแง่มุมนี้มีดังนี้:
- Command: จะเป็นสคริปต์ที่รันได้ซึ่งจะถูกดำเนินการเมื่อเริ่มต้น
Microsoft ระบุว่า:
แม้คำสั่งง่ายๆ จะทำงานได้ (การเปิดโปรแกรมหรือสคริปต์) แต่สถานการณ์ที่ซับซ้อนกว่านั้นที่เกี่ยวข้องกับหลายขั้นตอน ควรวางไว้ในไฟล์สคริปต์ ไฟล์สคริปต์นี้อาจถูกแมปเข้าไปในคอนเทนเนอร์ผ่านโฟลเดอร์ร่วมใช้ และจากนั้นดำเนินการผ่านคำสั่ง LogonCommand
ตัวอย่าง
Microsoft ได้ให้ตัวอย่างที่เหมาะสมของสภาพแวดล้อม Windows Sandbox ที่กำหนดเอง โดยมี vGPU และเครือข่ายถูกปิด การเข้าถึงแบบอ่านอย่างเดียวกับโฟลเดอร์ Downloads ที่แชร์ และโฟลเดอร์ Downloads จะถูกเปิดเมื่อเริ่มต้น
โค้ดมีดังนี้:
<Configuration> <VGpu>Disable</VGpu> <Networking>Disable</Networking> <MappedFolders> <MappedFolder> <HostFolder>C:\Users\Public\Downloads</HostFolder> <ReadOnly>true</ReadOnly> </MappedFolder> </MappedFolders> <LogonCommand> <Command>explorer.exe C:\users\WDAGUtilityAccount\Desktop\Downloads</Command> </LogonCommand> </Configuration>
หรือคุณสามารถดาวน์โหลดไฟล์นี้โดยตรงจากเซิร์ฟเวอร์ของเราและลองใช้งานด้วยตัวเอง
จุดที่ดีที่สุดของฟีเจอร์นี้คือมีให้ใช้งานบน Windows 10 1903 May 2019 Update และรุ่นใหม่กว่า หมายความว่าหากคุณใช้ Windows 10 build 18342 หรือใหม่กว่า คุณจะสามารถใช้ฟีเจอร์นี้ได้โดยไม่มีปัญหา
คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับฟีเจอร์นี้ได้ที่ Microsoft
