Поделиться через


Песочница Windows примеры файлов конфигурации

Пример 1. Сопоставление папок и тестирование неизвестного скачаного файла в песочнице

Следующий файл конфигурации можно использовать для простого тестирования неизвестных скачанных файлов в песочнице. Чтобы выполнить это тестирование, сеть и VGPU отключены, а песочница может получить доступ только для чтения к папке downloads с узла и помещается в папку temp в песочнице. Для удобства при запуске команда входа открывает папку downloads внутри песочницы.

Downloads.wsb

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

Пример 2. Установка Visual Studio Code при запуске в песочнице

Следующий файл конфигурации устанавливает Visual Studio Code в песочнице, что требует немного более сложной настройки LogonCommand.

Две папки сопоставляются с песочницей; первый (SandboxScripts) содержит VSCodeInstall.cmd, который устанавливает и запускает Visual Studio Code. Предполагается, что вторая папка (CodingProjects) содержит файлы проекта, которые разработчик хочет изменить с помощью Visual Studio Code.

Если скрипт установщика Visual Studio Code уже сопоставлен с песочницей, объект <LogonCommand> может ссылаться на него.

VSCodeInstall.cmd

Этот пакетный файл должен быть создан в каталоге C:\SandboxScripts на узле. Он скачивает VS Code в папку temp внутри песочницы и запускает установку из temp папки.

REM Download Visual Studio Code
curl -L "https://update.code.visualstudio.com/latest/win32-x64-user/stable" --output C:\temp\vscode.exe

REM Install and run Visual Studio Code
C:\temp\vscode.exe /verysilent /suppressmsgboxes

VSCode.wsb

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

Пример 3. Сопоставление папок и выполнение сценария PowerShell в качестве команды входа

Начиная с Windows 11 версии 24H2, Песочница Windows придерживается параметров мыши в хост-системе. Если вы используете более старую сборку и если ведущая система настроена на использование левой мыши, эти параметры необходимо применить в Песочница Windows вручную при запуске Песочница Windows. Кроме того, можно использовать файл конфигурации песочницы, чтобы выполнить команду входа для переключения параметра мыши.

В этом примере 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>