Compartilhar via


Área Restrita do Windows ficheiros de configuração de exemplo

Exemplo 1 – Mapear Pastas e testar um ficheiro transferido desconhecido num Sandbox

O seguinte ficheiro de configuração pode ser utilizado para testar facilmente ficheiros transferidos desconhecidos dentro de um sandbox. Para realizar este teste, a rede e a vGPU estão desativadas e o sandbox tem acesso só de leitura à pasta de transferências do anfitrião e é colocado dentro de uma pasta "temporária" no sandbox. 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 - Instalar Visual Studio Code no início num Sandbox

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 para o sandbox; o primeiro (SandboxScripts) contém VSCodeInstall.cmd, que instala e executa Visual Studio Code. Presume-se que a segunda pasta (CodingProjects) contém ficheiros de projeto que o programador quer modificar com Visual Studio Code.

Com o script do instalador Visual Studio Code já mapeado para o sandbox, o <LogonCommand> pode referenciá-lo.

VSCodeInstall.cmd

Este ficheiro batch deve ser criado no C:\SandboxScripts diretório no anfitrião. Transfere o VS Code para a temp pasta dentro do sandbox 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 – Mapear Pastas e executar um script do PowerShell como um Comando de Início de Sessão

A partir de Windows 11, versão 24H2, Área Restrita do Windows cumpre as definições do rato do sistema anfitrião. Se estiver numa compilação mais antiga e se o sistema anfitrião estiver definido para utilizar um rato canhoto, tem de aplicar estas definições no Área Restrita do Windows manualmente quando Área Restrita do Windows é iniciado. Em alternativa, pode utilizar um ficheiro de configuração do sandbox para executar um comando de início de sessão para trocar a definição do rato.

Neste exemplo, a C:\sandbox pasta no anfitrião é mapeada para a C:\sandbox pasta no sandbox, para que o SwapMouse.ps1 script possa ser referenciado no ficheiro de configuração do sandbox.

SwapMouse.ps1

Crie um script do PowerShell com o seguinte código e guarde-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>