Arquivos de configuração de exemplo da Área Restrita do Windows

Exemplo 1 - Mapeando pastas e testando um arquivo baixado desconhecido em uma área restrita

O arquivo de configuração a seguir pode ser usado para testar facilmente arquivos baixados desconhecidos dentro de uma área restrita. Para realizar esse teste, a rede e a vGPU são desabilitadas, e a área restrita tem permissão para acesso somente leitura à pasta de downloads a partir do host e é colocada dentro de uma pasta "temp" na área restrita. Para sua comodidade, o comando de início de sessão abre a pasta de downloads na área restrita quando é iniciada.

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>

Exemplo 2 – Instalando o Visual Studio Code na inicialização em uma área restrita

O seguinte arquivo de configuração instala o Visual Studio Code na área restrita, o que requer uma configuração LogonCommand um pouco mais complicada.

Duas pastas são mapeadas na área restrita; O primeiro (SandboxScripts) contém VSCodeInstall.cmd, que instala e executa Visual Studio Code. Supõe-se que a segunda pasta (CodingProjects) contenha arquivos de projeto que o desenvolvedor deseja modificar usando o Visual Studio Code.

Com o script do instalador do Visual Studio Code já mapeado na área restrita, ele <LogonCommand> pode referenciá-lo.

VSCodeInstall.cmd

Esse arquivo em lotes deve ser criado no C:\SandboxScripts diretório do host. Ele baixa o VS Code para a temp pasta dentro da área restrita e executa a instalação a partir da temp pasta.

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>

Exemplo 3 – Mapeando pastas e executando um script do PowerShell como um comando de logon

A partir do Windows 11, versão 24H2, a Área Restrita do Windows segue as configurações de mouse do sistema host. Se você estiver em uma build mais antiga e se o sistema host estiver configurado para usar um mouse canhoto, deverá aplicar essas configurações na Área Restrita do Windows manualmente quando a Área Restrita do Windows for iniciada. Como alternativa, você pode usar um arquivo de configuração de área restrita para executar um comando de logon para trocar a configuração do mouse.

Neste exemplo, a C:\sandbox pasta no host é mapeada para a C:\sandbox pasta na área restrita, portanto, o SwapMouse.ps1 script pode ser referenciado no arquivo de configuração da área restrita.

SwapMouse.ps1

Crie um script do PowerShell usando o código a seguir e salve-o no C:\sandbox diretório como 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>