Windows 沙盒配置 |
您所在的位置:网站首页 › 主机增加内存 › Windows 沙盒配置 |
Windows 沙盒配置
项目03/29/2024
适用于:
✅ Windows 11, ✅ Windows 10
Windows 沙盒支持简单的配置文件,这些文件为沙盒提供最少的自定义参数集。 此功能可与 Windows 10 内部版本 18342 或 Windows 11 一起使用。 Windows 沙盒配置文件的格式为 XML,并通过 .wsb 文件扩展名与沙盒相关联。 配置文件使用户能够控制 Windows 沙盒的以下方面: vGPU(虚拟化 GPU):启用或禁用虚拟化 GPU。 如果禁用 vGPU,沙盒将使用 Windows 高级光栅化平台 (WARP) 。 网络:启用或禁用沙盒中的网络访问。 映射的文件夹:从具有读取或写入权限的主机共享文件夹。 公开主机目录可能会允许恶意软件影响系统或窃取数据。 登录命令:Windows 沙盒启动时执行的命令。 音频输入:将主机的麦克风输入共享到沙盒中。 视频输入:将主机的网络摄像头输入共享到沙盒中。 受保护的客户端:将远程桌面协议 (RDP) 会话中的安全设置添加到沙盒。 打印机重定向:将打印机从主机共享到沙盒中。 剪贴板重定向:与沙盒共享主机剪贴板,以便可以来回粘贴文本和文件。 内存(以 MB 为单位):要分配给沙盒的内存量(以 MB 为单位)。注意 沙盒窗口的大小目前不可配置。 创建配置文件若要创建配置文件,请执行下列操作: 打开纯文本编辑器或源代码编辑器(例如记事本、Visual Studio Code 等) 插入以下行: 在两行之间添加适当的配置文本。 有关详细信息,请参阅 示例。 使用所需名称保存文件,但请确保其文件扩展名为 .wsb。 在记事本中,应将文件名和扩展名括在双引号内,例如 "My config file.wsb"。 使用配置文件若要使用配置文件,请双击它以根据其设置启动Windows 沙盒。 还可以通过命令行调用它,如下所示: C:\Temp> MyConfigFile.wsb 关键字、值和限制 vGPU启用或禁用 GPU 共享。 value 支持的值: Enable:在沙盒中启用 vGPU 支持。 禁用:在沙盒中禁用 vGPU 支持。 如果设置了此值,沙盒将使用软件呈现,这可能比虚拟化 GPU 慢。 默认 此值是 vGPU 支持的默认值。 目前,此默认值表示 vGPU 已禁用。注意 启用虚拟化 GPU 可能会增加沙盒的攻击面。 网络启用或禁用沙盒中的网络。 可以禁用网络访问,以减少沙盒暴露的攻击面。 value 支持的值: Enable:启用沙盒中的网络。 禁用:禁用沙盒中的网络。 默认:此值是网络支持的默认值。 此值通过在主机上创建虚拟交换机来启用网络,并通过虚拟 NIC 将沙盒连接到该交换机。注意 启用网络可能会向内部网络暴露不受信任的应用程序。 映射的文件夹一个文件夹数组,每个文件夹表示主机上与沙盒在指定路径处共享的位置。 目前,不支持相对路径。 如果未指定路径,文件夹将映射到容器用户的桌面。 absolute path to the host folder absolute path to the sandbox folder value ... HostFolder:指定主机上要共享到沙盒中的文件夹。 该文件夹必须已存在于主机上,否则容器无法启动。 SandboxFolder:指定要将文件夹映射到的沙盒中的目标。 如果该文件夹不存在,则会创建它。 如果未指定沙盒文件夹,该文件夹将映射到容器桌面。 ReadOnly:如果为 true,则强制从容器内部对共享文件夹进行只读访问。 支持的值:true/false。 默认为 false。注意 从主机映射的文件和文件夹可能会被沙盒中的应用入侵,或可能会影响主机。 登录命令指定沙盒登录后自动调用的单个命令。 沙盒中的应用在容器用户帐户下运行。 容器用户帐户应是管理员帐户。 command to be invoked命令:将在登录后执行的容器内可执行文件或脚本的路径。 注意 尽管非常简单的命令可以工作(例如启动可执行文件或脚本),但涉及多个步骤的更复杂方案应放在脚本文件中。 此脚本文件可以通过共享文件夹映射到容器中,然后通过 LogonCommand 指令执行。 音频输入启用或禁用沙盒的音频输入。 value 支持的值: Enable:在沙盒中启用音频输入。 如果设置了此值,沙盒可以接收来自用户的音频输入。 使用麦克风的应用程序可能需要此功能。 禁用:禁用沙盒中的音频输入。 如果设置了此值,则沙盒将无法接收用户的音频输入。 使用麦克风的应用程序可能无法正常使用此设置。 默认:此值是音频输入支持的默认值。 目前,此默认值表示音频输入已启用。注意 向容器暴露主机音频输入可能存在安全隐患。 视频输入启用或禁用沙盒的视频输入。 value 支持的值: Enable:在沙盒中启用视频输入。 禁用:在沙盒中禁用视频输入。 使用视频输入的应用程序可能无法在沙盒中正常运行。 默认:此值是视频输入支持的默认值。 目前,此默认值表示视频输入已禁用。 使用视频输入的应用程序可能无法在沙盒中正常运行。注意 向容器暴露主机视频输入可能存在安全隐患。 受保护的客户端启用“受保护的客户端”模式后,沙盒会通过在 AppContainer 隔离执行环境中运行来添加一个新的安全边界层。 AppContainer 隔离提供凭据、设备、文件、网络、进程和窗口隔离。 value 支持的值: Enable:在“受保护的客户端”模式下运行 Windows 沙盒。 如果设置了此值,则沙盒将在 AppContainer 隔离中运行。 禁用:在标准模式下运行沙盒,无需额外的安全缓解措施。 默认:此值是“受保护的客户端”模式的默认值。 目前,此默认值表示沙盒无法在“受保护的客户端”模式下运行。注意 此设置可能会限制用户在沙盒中复制/粘贴文件的能力。 打印机重定向启用或禁用从主机到沙盒的打印机共享。 value 支持的值: Enable:允许将主机打印机共享到沙盒中。 禁用:禁用沙盒中的打印机重定向。 如果设置了此值,则沙盒无法从主机查看打印机。 默认:此值是打印机重定向支持的默认值。 目前,此默认值表示打印机重定向已禁用。 剪贴板重定向启用或禁用与沙盒共享主机剪贴板。 value 支持的值: Enable:允许与沙盒共享主机剪贴板。 禁用:禁用沙盒中的剪贴板重定向。 如果设置了此值,则限制复制/粘贴和从沙盒中粘贴。 默认:此值是剪贴板重定向的默认值。 目前,默认情况下允许在主机和沙盒之间复制/粘贴。 内存(以 MB 为单位)指定沙盒可以使用的内存量(以 MB 为单位)。 value 如果指定的内存值不足以启动沙盒,则会自动将其增加到所需的最小值。 示例 示例 1以下配置文件可用于轻松测试沙盒中的已下载文件。 为了实现此测试,将禁用网络和 vGPU,并允许沙盒对共享的下载文件夹进行只读访问。 为方便起见,登录命令在启动时会打开沙盒中的下载文件夹。 Downloads.wsb Disable Disable C:\Users\Public\Downloads C:\Users\WDAGUtilityAccount\Downloads true explorer.exe C:\users\WDAGUtilityAccount\Downloads 示例 2以下配置文件可在沙盒中安装 Visual Studio Code,这需要稍微复杂的 LogonCommand 设置。 两个文件夹映射到沙盒中;第一个 (SandboxScripts) 包含安装并运行 Visual Studio Code 的VSCodeInstall.cmd。 假设第二个文件夹 (CodingProjects) 包含开发人员希望使用 Visual Studio Code 修改的项目文件。 由于 Visual Studio Code 安装程序脚本已映射到沙盒中,LogonCommand 可以引用它。 VSCodeInstall.cmd将 VS Code 下载到 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 C:\SandboxScripts C:\Users\WDAGUtilityAccount\Downloads\sandbox true C:\CodingProjects C:\Users\WDAGUtilityAccount\Documents\Projects false C:\Users\WDAGUtilityAccount\Downloads\sandbox\VSCodeInstall.cmd 示例 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 C:\sandbox C:\sandbox True powershell.exe -ExecutionPolicy Bypass -File C:\sandbox\SwapMouse.ps1 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |