Песочница 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>