Windows沙盒的安装与配置

news2025/2/3 10:19:01

沙盒安装

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.exe

REM 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.coloradmin.cn/o/762214.html

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

相关文章

数据库管理-第九十二期 一周故障汇总(20230717)

第九十二期 一周故障汇总&#xff08;20230717&#xff09; 距离上一篇已经过了整整一周了&#xff0c;平时我虽然不是生产队的驴&#xff0c;但是一周一篇以上的数量还是维持了一段时间了。为啥上周只写了一篇&#xff0c;因为各种故障、各种保障、各种割接忙了整整一周&…

数据分析师:解读数据背后的故事

数据在当今信息时代中扮演着至关重要的角色&#xff0c;而数据分析师则是解读和发掘数据中隐藏信息的关键人物。作为数据分析师&#xff0c;他们运用统计学、机器学习和数据可视化等技术手段&#xff0c;从海量的数据中提取出有价值的信息和洞察&#xff0c;并将其转化为可供决…

大数据学习02-Hadoop分布式集群部署

操作系统&#xff1a;centos7 软件环境&#xff1a;jdk8、hadoop-2.8.5 一、创建虚拟机 1.下载VMware,建议支持正版 2.安装到Widows目录下任意位置即可&#xff0c;安装目录自定义。打开VMware&#xff0c;界面如下&#xff1a; 3.创建虚拟机 创建虚拟机—>选择自定义 …

kafka消息队列最常用的两种模式,以及应用场景

目录 一、发布-订阅模式 二、点对点模式 三、应用场景 一、发布-订阅模式 发布-订阅模式是最常见的消息传递模式&#xff0c;其中消息发布者将消息发送到一个或多个主题&#xff08;Topic&#xff09;&#xff0c;而订阅者可以选择订阅一个或多个主题来接收消息。每个订阅者…

在嵌入式系统开发培训中常用的数据库有哪些种?

数据库是一种储存和管理、组织数据的仓库&#xff0c;在嵌入式开发当中起到至关重要的作用。一个在嵌入式培训中&#xff0c;我们可学习使用的数据库有多种&#xff0c;每种数据库都会呈现出不同的一面&#xff0c;那么我们在嵌入式系统开发培训中可用到的数据库都有哪几种&…

JQuery(二):DOM操作、动画、遍历、事件绑定

1.DOM操作 1.1内容操作 html(): 获取/设置元素的标签体内容 <a><font>内容</font></a> --> <font>内容</font>text(): 获取/设置元素的标签体纯文本内容 <a><font>内容</font></a> --> 内容val()&am…

RK3588+FPGA视频实时处理与双屏显示、存储解决方案

主板平台的主要功能电路示意图 在ARM端: 脚踏开关是电平输入10 口&#xff0c;双路。 触摸面板与主板的连接方式为 UART 外加12V 电源。 键盘为自开发产品&#xff0c;通过USB透传 UART&#xff0c;并传递12V电源USB、千兆网络为主板上的接口&#xff0c;USB 为3.0版本host 接口…

Hadoop 之 单机部署和测试(一)

Hadoop单机部署和测试 一.单机部署1.安装 JDK&#xff08;JDK11&#xff09;2.安装 HADOOP3.测试 一.单机部署 系统版本&#xff1a;cat /etc/anolis-release1.安装 JDK&#xff08;JDK11&#xff09; #!/bin/bashTOP_PATH$(pwd) JAVA_PATH/usr/local/java FILEls $TOP_PATH/…

【Linux | Shell】结构化命令2 - test命令、方括号测试条件、case命令

目录 一、概述二、test 命令2.1 test 命令2.2 方括号测试条件2.3 test 命令和测试条件可以判断的 3 类条件2.3.1 数值比较2.3.2 字符串比较 三、复合条件测试四、if-then 的高级特性五、case 命令 一、概述 上篇文章介绍了 if 语句相关知识。但 if 语句只能执行命令&#xff0c…

兴达易控modbus转profinet网关与三菱变频器通讯

本案例分享兴达易控modbus转profinet网关&#xff08;MDPN100&#xff09;连接西门子1200plc&#xff0c;实现三菱变频器485通讯兼容转modbusTCP通信&#xff0c;在博图中配置。 拓展图 打开博图&#xff0c;并添加PLC 加载由兴达易控免费提供的modbus转profinet GSD文件 安装网…

基于MSP432P401R送药小车【2021年电赛F题】

文章目录 一、任务清单1. 硬件部分2. 软件部分 二、神经网络训练1. 创建数据集2. 数据采集3. 数字训练 三、OpenMV数字及其坐标识别四、巡线1. 直行2. 转向3. 停止 五、路口判断与原路径返回六、技术交流 由于前边已经用MSP430做过一遍该赛题了&#xff0c;这里就不再重复叙述赛…

Java培训:什么是Busy spin?为什么要使用Busy spin?

Busy spin(繁忙自旋)是一种线程等待的技术&#xff0c;它通过循环检查条件来等待某个事件或条件的发生&#xff0c;而不进行阻塞或休眠。 通常情况下&#xff0c;线程等待事件发生的方式是使用阻塞或休眠操作&#xff0c;这样线程会释放CPU资源&#xff0c;其他线程可以继续执行…

Qt6 Qt Quick UI原型学习QML第二篇

Qt6 Qt Quick UI原型学习QML第二篇 界面效果QML语法语法讲解核心要素项目元素矩形元素文本元素图像元素MouseArea元素 界面效果 QML语法 import QtQuick 2.12 import QtQuick.Window 2.12Window {id: rootvisible: truewidth: 640height: 480title: qsTr("QML学习第二篇&…

【题解】 模拟赛2 题解

T1 假设商品价格为x 618:int(x*0.66) 211:x-(x/100)*35 两者比较一下大小即可 #include<bits/stdc.h> using namespace std;int x,x1,x2;int main(){scanf("%d",&x);x1 x*0.66;x2 x-(x/100)*35;if (x1 x2) printf("both\n%d",x1);if (x1 &g…

浏览器打开PDF标题乱码

问题 使用 itext5 用pdf模板生成预览pdf乱码问题 解决办法 使用pdf编辑器打开之后&#xff0c;选择 文件>> 属性&#xff0c; 修改乱码的标题。

【业务功能篇45】SSM整合shiro项目:web.xml执行顺序

web.xml 的加载顺序是&#xff1a;ServletContext -> context-param -> listener -> filter -> servlet 学习shiro时&#xff0c;需要配置shiro &#xff0c;我们需要在filter过滤器之前&#xff0c;先初始化好shiro组件&#xff0c;不然请求认证无法走到shiro,根据…

plt.text()函数解析

plt.text(x, y, s, fontsize, verticalalignment,horizontalalignment,rotation , *kwargs) 参数&#xff1a; x,y:表示坐标值上的值s:表示说明文字fontsize:表示字体大小verticalalignment&#xff1a;垂直对齐方式 &#xff0c;参数&#xff1a;[ ‘center’ | ‘top’ | ‘…

【公益】Q学友联合东湖街道开展“星级大厨来做客”技能培训活动

“大家一定要用温水和面&#xff0c;和面时要注意方向和力度&#xff0c;往同一个方向揉面……”在东湖街道综合文体服务中心一楼的中式面点培训现场&#xff0c;飘荡着阵阵面香&#xff0c;充斥着欢声笑语。 为进一步丰富居民业余文化生活&#xff0c;提高灵活就业人员的职业技…

手把手教你搭建SpringCloud项目:什么是微服务?一看就会系列!

什么是微服务&#xff1f;一看就会系列&#xff01; 一、手把手教你搭建SpringCloud项目&#xff08;一&#xff09;图文详解&#xff0c;傻瓜式操作 二、手把手教你搭建SpringCloud项目&#xff08;二&#xff09;生产者与消费者 三、手把手教你搭建SpringCloud项目&#x…

mpVue 微信小程序基于vant-weapp 组件的二次封装TForm 表单组件(修改源码插槽使用)

一、前言 1、mpVue微信小程序不支持动态组件&#xff08;<component> &#xff09; 2、mpVue微信小程序不支持动态属性及事件穿透&#xff08;$attrs和$listeners&#xff09; 3、mpVue微信小程序不支持render函数 二、最终效果 三、配置参数&#xff08;Attributes&…