Partager via


Bac à sable Windows exemples de fichiers de configuration

Exemple 1 - Mappage de dossiers et test d’un fichier téléchargé inconnu dans un bac à sable

Le fichier de configuration suivant peut être utilisé pour tester facilement des fichiers téléchargés inconnus dans un bac à sable. Pour effectuer ce test, la mise en réseau et le processeur virtuel sont désactivés, et le bac à sable est autorisé à accéder en lecture seule au dossier téléchargements à partir de l’hôte et est placé dans un dossier « temp » dans le bac à sable. Pour des raisons pratiques, la commande d’ouverture de session ouvre le dossier téléchargements à l’intérieur du bac à sable au démarrage.

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>

Exemple 2 - Installation de Visual Studio Code au lancement dans un bac à sable

Le fichier de configuration suivant installe Visual Studio Code dans le bac à sable, ce qui nécessite une configuration LogonCommand légèrement plus complexe.

Deux dossiers sont mappés dans le bac à sable ; le premier (SandboxScripts) contient VSCodeInstall.cmd, qui s’installe et s’exécute Visual Studio Code. Le deuxième dossier (CodingProjects) est supposé contenir des fichiers projet que le développeur souhaite modifier à l’aide de Visual Studio Code.

Avec le script du programme d’installation Visual Studio Code déjà mappé dans le bac à sable, le <LogonCommand> peut le référencer.

VSCodeInstall.cmd

Ce fichier de commandes doit être créé dans le C:\SandboxScripts répertoire sur l’hôte. Il télécharge VS Code dans le dossier à l’intérieur du bac à temp sable et exécute l’installation à partir du temp dossier .

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>

Exemple 3 : mappage de dossiers et exécution d’un script PowerShell en tant que commande d’ouverture de session

À compter de Windows 11, version 24H2, Bac à sable Windows respecte les paramètres de la souris du système hôte. Si vous utilisez une version plus ancienne et que le système hôte est configuré pour utiliser une souris gaucher, vous devez appliquer ces paramètres manuellement dans Bac à sable Windows au démarrage de Bac à sable Windows. Vous pouvez également utiliser un fichier de configuration de bac à sable pour exécuter une commande d’ouverture de session afin d’échanger le paramètre de la souris.

Dans cet exemple, le C:\sandbox dossier sur l’hôte est mappé au dossier dans le bac à C:\sandbox sable, de sorte que le SwapMouse.ps1 script peut être référencé dans le fichier de configuration du bac à sable.

SwapMouse.ps1

Créez un script PowerShell à l’aide du code suivant et enregistrez-le dans le C:\sandbox répertoire en tant que 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>