Windows沙盒的安装与配置

沙盒安装

1、打开控制面板

在这里插入图片描述

2、选择程序与功能

在这里插入图片描述

3、勾选Windows 沙盒,然后点击确定,等待安装完成即可。

在这里插入图片描述

沙盒配置

Windows 沙盒支持简单的配置文件,这些文件为沙盒提供最少的自定义参数集。 此功能可与 Windows 10 内部版本 18342 或 Windows 11 一起使用。 Windows 沙盒配置文件的格式为 XML,并通过.wsb文件扩展名与沙盒相关联。

配置文件使用户能够控制Windows 沙盒的以下方面:

  • vGPU (虚拟化 GPU) :启用或禁用虚拟化 GPU。 如果禁用 vGPU,沙盒将使用 Windows 高级光栅化平台 (WARP) 。
  • 网络:启用或禁用沙盒中的网络访问。
  • 映射的文件夹:共享具有 读取写入 权限的主机中的文件夹。 公开主机目录可能会允许恶意软件影响系统或窃取数据。
  • 登录命令:Windows 沙盒启动时执行的命令。
  • 音频输入:将主机的麦克风输入共享到沙盒中。
  • 视频输入:将主机的网络摄像头输入共享到沙盒中。
  • 受保护的客户端:将 RDP 会话上增加的安全设置置于沙盒中。
  • 打印机重定向:将打印机从主机共享到沙盒中。
  • 剪贴板重定向:与沙盒共享主机剪贴板,以便可以来回粘贴文本和文件。
  • 内存(MB):要分配给沙盒的内存量(以 MB 为单位)。

备注: 沙盒窗口的大小目前不可配置。

创建配置文件

若要创建配置文件,请执行以下操作:

  1. 打开纯文本编辑器或源代码编辑器 (例如记事本、Visual Studio Code等)

  2. 插入以下行:

<Configuration>
</Configuration>
  1. 在两行之间添加适当的配置文本。 有关详细信息,请参阅正确的语法和以下示例。

  2. 使用所需名称保存文件,但请确保其文件扩展名为 .wsb。 在记事本中,应将文件名和扩展名括在双引号内,例如: "My config file.wsb"

使用配置文件

若要使用配置文件,请双击它以根据其设置启动Windows 沙盒。 还可以通过命令行调用它,如下所示:

C:\Temp> MyConfigFile.wsb

关键字、值和限制

vGPU

启用或禁用 GPU 共享。

<vGPU>value</vGPU>

支持的值:

  • Enable:在沙盒中启用 vGPU 支持。
  • Disable:在沙盒中禁用 vGPU 支持。 如果设置了此值,沙盒将使用软件呈现,这可能比虚拟化 GPU 慢。
  • 默认 此值是 vGPU 支持的默认值。 目前,此默认值表示 vGPU 已禁用。

备注: 启用虚拟化 GPU 可能会增加沙盒的攻击面。

网络

启用或禁用沙盒中的网络。 可以禁用网络访问,以减少沙盒公开的攻击面。

<Networking>value</Networking>

支持的值:

  • 启用:在沙盒中启用网络。
  • 禁用:禁用沙盒中的网络。
  • 默认值:此值是网络支持的默认值。 此值通过在主机上创建虚拟交换机来启用网络,并通过虚拟 NIC 将沙盒连接到该交换机。

备注: 启用网络可能会向内部网络公开不受信任的应用程序。

映射的文件夹

一个文件夹数组,每个文件夹表示主机上的一个位置,该位置将共享到指定路径处的沙盒中。 目前,不支持相对路径。 如果未指定路径,文件夹将映射到容器用户的桌面。

<MappedFolders><MappedFolder><HostFolder>absolute path to the host folder</HostFolder><SandboxFolder>absolute path to the sandbox folder</SandboxFolder><ReadOnly>value</ReadOnly></MappedFolder><MappedFolder>...</MappedFolder>
</MappedFolders>
  • HostFolder:指定要共享到沙盒的主机上的文件夹。 该文件夹必须已存在于主机上,否则容器将无法启动。
  • SandboxFolder:指定要将文件夹映射到的沙盒中的目标。 如果该文件夹不存在,则会创建该文件夹。 如果未指定沙盒文件夹,该文件夹将映射到容器桌面。
  • ReadOnly:如果 为 true,则强制从容器内对共享文件夹进行只读访问。 支持的值: true/false。 默认为 false

备注: 从主机映射的文件和文件夹可能会被沙盒中的应用入侵,或可能影响主机。

登录命令

指定沙盒登录后自动调用的单个命令。 沙盒中的应用在容器用户帐户下运行。 容器用户帐户应是管理员帐户。

<LogonCommand><Command>command to be invoked</Command>
</LogonCommand>
  • 命令:容器中将在登录后执行的可执行文件或脚本的路径。

备注: 尽管非常简单的命令 ((例如启动可执行文件或脚本) )工作,但涉及多个步骤的更复杂的方案应放在脚本文件中。 此脚本文件可以通过共享文件夹映射到容器中,然后通过 LogonCommand 指令执行。

音频输入

启用或禁用沙盒的音频输入。

<AudioInput>value</AudioInput>

支持的值:

  • Enable:在沙盒中启用音频输入。 如果设置了此值,沙盒将能够接收用户的音频输入。 使用麦克风的应用程序可能需要此功能。
  • Disable:禁用沙盒中的音频输入。 如果设置了此值,则沙盒无法接收来自用户的音频输入。 使用麦克风的应用程序可能无法正常使用此设置。
  • 默认值:此值是音频输入支持的默认值。 目前,此默认值表示已启用音频输入。

备注: 向容器公开主机音频输入可能存在安全隐患。

视频输入

启用或禁用沙盒的视频输入。

<VideoInput>value</VideoInput>

支持的值:

  • Enable:在沙盒中启用视频输入。
  • Disable:禁用沙盒中的视频输入。 使用视频输入的应用程序可能无法在沙盒中正常运行。
  • 默认值:此值是视频输入支持的默认值。 目前,此默认值表示视频输入已禁用。 使用视频输入的应用程序可能无法在沙盒中正常运行。

备注: 向容器公开主机视频输入可能存在安全隐患。

受保护的客户端

启用“受保护的客户端”模式后,沙盒通过在 AppContainer Isolation 执行环境中运行来添加一个新的安全边界层。

AppContainer 隔离提供凭据、设备、文件、网络、进程和窗口隔离。

<ProtectedClient>value</ProtectedClient>

支持的值:

  • Enable:在受保护的客户端模式下运行 Windows 沙盒。 如果设置了此值,沙盒将在 AppContainer Isolation 中运行。
  • Disable:在标准模式下运行沙盒,无需额外的安全缓解措施。
  • 默认值:此值是受保护的客户端模式的默认值。 目前,此默认值表示沙盒不在受保护的客户端模式下运行。

备注: 此设置可能会限制用户在沙盒中复制/粘贴文件的能力。

打印机重定向

启用或禁用从主机到沙盒的打印机共享。

<PrinterRedirection>value</PrinterRedirection>

支持的值:

  • Enable:允许将主机打印机共享到沙盒中。
  • Disable:在沙盒中禁用打印机重定向。 如果设置了此值,则沙盒无法从主机查看打印机。
  • 默认值:此值是打印机重定向支持的默认值。 目前,此默认值表示打印机重定向已禁用。

剪贴板重定向

启用或禁用与沙盒共享主机剪贴板。

<ClipboardRedirection>value</ClipboardRedirection>

支持的值:

  • Enable:允许与沙盒共享主机剪贴板。
  • Disable:禁用沙盒中的剪贴板重定向。 如果设置了此值,将限制复制/粘贴到沙盒和沙盒外。
  • 默认值:此值是剪贴板重定向的默认值。 目前, “默认”下允许在主机和沙盒之间复制/粘贴。

内存(以 MB 为单位)

指定沙盒可以使用的内存量(以 MB 为单位), (MB) 。

<MemoryInMB>value</MemoryInMB>

如果指定的内存值不足以启动沙盒,则会自动将其增加到所需的最小值。

示例 1

以下配置文件可用于在沙盒中轻松测试下载的文件。 为了实现此测试,将禁用网络和 vGPU,并允许沙盒对共享下载文件夹进行只读访问。 为方便起见,登录命令在启动时会在沙盒中打开 downloads 文件夹。

Downloads.wsb

<Configuration><VGpu>Disable</VGpu><Networking>Disable</Networking><MappedFolders><MappedFolder><HostFolder>C:\Users\Public\Downloads</HostFolder><SandboxFolder>C:\Users\WDAGUtilityAccount\Downloads</SandboxFolder><ReadOnly>true</ReadOnly></MappedFolder></MappedFolders><LogonCommand><Command>explorer.exe C:\users\WDAGUtilityAccount\Downloads</Command></LogonCommand>
</Configuration>

示例 2

以下配置文件在沙盒中安装 Visual Studio Code,这需要稍微复杂的 LogonCommand 设置。

两个文件夹映射到沙盒中;第一个 (SandboxScripts) 包含 VSCodeInstall.cmd,它将安装和运行Visual Studio Code。 假定第二个文件夹 (CodingProjects) 包含开发人员希望使用 Visual Studio Code 修改的项目文件。

由于 Visual Studio Code 安装程序脚本已映射到沙盒,LogonCommand 可以引用它。

VSCodeInstall.cmd

将 vscode 下载到 downloads 文件夹并从文件夹运行 downloads

REM Download Visual Studio Code
curl -L "https://update.code.visualstudio.com/latest/win32-x64-user/stable" --output C:\users\WDAGUtilityAccount\Downloads\vscode.exeREM Install and run Visual Studio Code
C:\users\WDAGUtilityAccount\Downloads\vscode.exe /verysilent /suppressmsgboxes

VSCode.wsb

<Configuration><MappedFolders><MappedFolder><HostFolder>C:\SandboxScripts</HostFolder><SandboxFolder>C:\Users\WDAGUtilityAccount\Downloads\sandbox</SandboxFolder><ReadOnly>true</ReadOnly></MappedFolder><MappedFolder><HostFolder>C:\CodingProjects</HostFolder><SandboxFolder>C:\Users\WDAGUtilityAccount\Documents\Projects</SandboxFolder><ReadOnly>false</ReadOnly></MappedFolder></MappedFolders><LogonCommand><Command>C:\Users\WDAGUtilityAccount\Downloads\sandbox\VSCodeInstall.cmd</Command></LogonCommand>
</Configuration>

示例 3

以下配置文件运行 PowerShell 脚本作为登录命令,以交换左手用户的鼠标主按钮。

C:\sandbox 主机上的 文件夹映射到 C:\sandbox 沙盒中的 文件夹,因此 SwapMouse.ps1 可以在沙盒配置文件中引用脚本。

SwapMouse.ps1

使用以下代码创建 powershell 脚本,并将其 C:\sandbox 作为 保存在目录中 SwapMouse.ps1

[Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null$SwapButtons = Add-Type -MemberDefinition @'
[DllImport("user32.dll")]
public static extern bool SwapMouseButton(bool swap);
'@ -Name "NativeMethods" -Namespace "PInvoke" -PassThru$SwapButtons::SwapMouseButton(!([System.Windows.Forms.SystemInformation]::MouseButtonsSwapped))

SwapMouse.wsb

<Configuration><MappedFolders><MappedFolder><HostFolder>C:\sandbox</HostFolder><SandboxFolder>C:\sandbox</SandboxFolder><ReadOnly>True</ReadOnly></MappedFolder></MappedFolders><LogonCommand><Command>powershell.exe -ExecutionPolicy Bypass -File C:\sandbox\SwapMouse.ps1</Command></LogonCommand>
</Configuration>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/4338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用selenium模拟登录解决滑块验证问题

目录 1.登录入口 2.点击“账号密码登录” 3.输入账号、密码并点击登录 4.滑块验证过程 5.小结 本次主要是使用selenium模拟登录网页端的TX新闻&#xff0c;本来最开始是模拟请求的&#xff0c;但是某一天突然发现&#xff0c;部分账号需要经过滑块验证才能正常登录&#x…

python pytest脚本执行工具

pytest脚本执行工具 支持获取当前路径下所有.py脚本 添加多个脚本&#xff0c;一起执行 import tkinter as tk from tkinter import filedialog import subprocess import os from datetime import datetimedef select_script():script_path filedialog.askopenfilename(fil…

windows安装使用 tesseract-ocr

OCR&#xff08;Optical character recognition&#xff0c;光学字符识别&#xff09;是一种将图像中的手写字或者印刷文本转换为机器编码文本的技术。 tesseract-ocr 是由Google开发&#xff0c;支持100多种语言 文档 tessdoc&#xff1a; https://tesseract-ocr.github.io…

浅谈炼钢厂能源计量管理系统的设计与应用

安科瑞 华楠 摘要: 从能源计量和管理的角度&#xff0c;论述了炼钢厂的能源计量管理系统的基本组成及功能。该系统的建立&#xff0c;将使炼钢厂能源介质的计量管理工作实现自动采集、瞬时监测、故障报警、能流监视&#xff1b;完成报表统计、离线输入、成本分析、预测参考等功…

【Java项目实战-牛客社区】--idea创建springboot工程

①. 创建springboot工程&#xff0c;并勾选web开发相关依赖。 。配置Maven ②. 定义Controller类&#xff0c;添加方法 hello。 ③. 运行测试1 使用Spring Initializr方式构建Spring Boot项目 Spring Initializr是一个Web应用&#xff0c;它提供了一个基本的项目结构&#xff…

手机外壳缺陷视觉检测软硬件方案

单独使用一种光源效果图 同轴光会出现亮度不够的情况&#xff1b;回形面光因为光源中间的圆孔会使图像有阴影&#xff0c;造成图像效果不均衡&#xff0c;所以不采用单独光源打光 使用同轴回形面光源效果图 回形光源照亮产品要寻找的边缘&#xff0c;同轴光源起到补光的作用&a…

SpringCloud学习路线(6)—— 远程调用HTTP客户端Feign

一、Feign替代RestTemplate RestTemplate示例 String url "http://userservice/user/" order.getUserId(); User user restTemplate.getForObject(url, User.class);RestTemplate的缺陷&#xff1a; 代码可读性差&#xff0c;编码体验不统一。参数复杂URL难以维…

需求分析案例:全局错误码设计

本文介绍了我在一些业务系统中遇到的错误提示问题&#xff0c;以及进行需求分析和设计实现的过程&#xff0c;欢迎进行交流和指点&#xff0c;一起进步。 1、需求起源 作为程序员&#xff0c;或多或少&#xff0c;都经历过如下场景&#xff1a; 场景1&#xff1a; 产品经理&a…

智慧校园能源管控系统

智慧校园能源管控系统是一种搭载了物联网技术、大数据技术、大数据等技术性智能化能源管理方法系统&#xff0c;致力于为学校提供更高效、安全性、可信赖的能源供应管理和服务。该系统包括了校内的电力工程、水、气、暖等各类能源&#xff0c;根据对能源的实时检测、数据统计分…

文心一言 VS 讯飞星火 VS chatgpt (63)-- 算法导论6.5 2题

文心一言 VS 讯飞星火 VS chatgpt &#xff08;63&#xff09;-- 算法导论6.5 2题 二、试说明 MAX-HEAP-INSERT(A&#xff0c;10)在堆A(15&#xff0c;13&#xff0c;9&#xff0c;5&#xff0c;12&#xff0c;8&#xff0c;7&#xff0c;4&#xff0c;0&#xff0c;6&#xf…

【业务功能篇48】后端接口开发的统一规范

业务背景&#xff1a;日常工作中&#xff0c;我们开发接口时&#xff0c;一般都会涉及到参数校验、异常处理、封装结果返回等处理。而我们项目有时为了快速迭代&#xff0c;在这方面上有所疏忽&#xff0c;后续导致代码维护比较难&#xff0c;不同的开发人员的不同习惯&#xf…

HTTP进化史:从HTTP1的简单到HTTP3的强大

文章目录 &#x1f4c8;I. HTTP1⚡A. 基本特点⚡B. 特点⚡C. 优缺点 &#x1f4c8;II. HTTP2⚡A. 基本特点⚡B. 特点⚡C. 优缺点 &#x1f4c8;III. HTTP3⚡A. 基本特点⚡B. 特点⚡C. 优缺点 &#x1f4c8;IV. 总结&#x1f4c8;附录&#xff1a;「简历必备」前后端实战项目&am…

[RK3568] AMP架构

Rockchip 平台异构多系统 AMP&#xff08;非对称多核架构&#xff09;的开发软件包&#xff0c;支持 Linux(Kernel-4.19)、 Baremetal(HAL)、RTOS(RT-Thread) 组合AMP构建形式。 Baremetal(HAL) Baremetal表示裸机操作系统&#xff0c;HAL是裸机操作系统的一种。 裸机嵌入式系…

MySQL不适合创建索引的7种情况

1. 在where中使用不到的字段&#xff0c;不要设置索引 WHERE条件&#xff08;包括order by &#xff0c;group by&#xff09; 2. 数据量小的表最好不要使用索引 表记录太少&#xff0c;比如少于1000个&#xff0c;创建索引会先查索引&#xff0c;再回表&#xff0c;查询花费…

Git 常用命令

Git操作 克隆远程仓库到本地 # Git初始化&#xff08;仅一次使用的适合需要设置&#xff09; git config --global user.name "用户名" git config --global user.email "邮箱账号"# 朴实无华的拉取 git clone <url>分支 # 查看分支 git branch # …

Puppeteer 使用教程-实战篇(爬取图片、视频、音频,页面数据)

目录 前言 一、 获取实体店铺信息 二、 获取全国各省市县地图json数据 三、 cookies 四、 获取网络图片、视频资源 五、 自动化测试 总结 前言 续上篇&#xff0c;我们简单讲述一下puppeteer常见的应用场景&#xff0c;包括静态页面数据获取&#xff0c;网络请求获取截取…

第 5 章 Spark Shuffle 解析

第 5 章 Spark Shuffle 解析 5.1 Shuffle 的核心要点1. 数据分区&#xff1a;2.数据传输&#xff1a;3. 数据排序&#xff1a;4.数据聚合&#xff1a;5. 数据重分发&#xff1a;6.数据持久化&#xff1a;5.1.1 ShuffleMapStage 与 ResultStage 5.2 HashShuffle 解析5.2.1 未优化…

Appium python 框架

目录 前言 流程 结构 具体说说 run.py 思路 其他模块 前言 Appium是一个开源的移动应用自动化测试框架&#xff0c;它允许开发人员使用多种编程语言&#xff08;包括Python&#xff09;来编写自动化测试脚本。Appium框架提供了一套API和工具&#xff0c;可以与移动设备进…

基于单片机语音识别智能家居系统的设计与实现

功能介绍 以STM32单片机作为主控系统&#xff1b;液晶显示当前环境温湿度&#xff0c;用电器开关状态通过语音模块识别设定的语音&#xff1b;DHT11进行环境温湿度采集&#xff1b;通过语音播报模块报当前温湿度&#xff0c;智能回复通过语音识别可以打开灯&#xff0c;窗帘&am…

C语言-排序,初识指针

目录 【1】冒泡排序&#xff08;从小到大&#xff09; 【2】选择排序 【3】二维数组 【4】指针 【5】指针修饰 【6】大小端 【7】初见二级指针 练习&#xff1a; 【1】冒泡排序&#xff08;从小到大&#xff09; #include <stdio.h> //数组哪里的\0?自己和字符串…