Freigeben über


Windows-Sandbox Beispielkonfigurationsdateien

Beispiel 1: Zuordnen von Ordnern und Testen einer unbekannten heruntergeladenen Datei in einer Sandbox

Die folgende Konfigurationsdatei kann verwendet werden, um unbekannte heruntergeladene Dateien in einer Sandbox zu testen. Um diese Tests zu erreichen, sind Netzwerk und vGPU deaktiviert, und die Sandbox erhält schreibgeschützten Zugriff auf den Ordner downloads vom Host und wird in einem Ordner "temp" in der Sandbox platziert. Der Einfachheit halber öffnet der Anmeldebefehl den Downloadordner innerhalb der Sandbox, wenn er gestartet wird.

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>

Beispiel 2: Installieren von Visual Studio Code beim Start in einer Sandbox

Die folgende Konfigurationsdatei installiert Visual Studio Code in der Sandbox, was ein etwas komplizierteres LogonCommand-Setup erfordert.

Der Sandbox werden zwei Ordner zugeordnet. die erste (SandboxScripts) enthält VSCodeInstall.cmd, die Visual Studio Code installiert und ausführt. Es wird davon ausgegangen, dass der zweite Ordner (CodingProjects) Projektdateien enthält, die der Entwickler mithilfe von Visual Studio Code ändern möchte.

Wenn das Visual Studio Code-Installationsskript bereits der Sandbox zugeordnet ist, kann darauf <LogonCommand> verwiesen werden.

VSCodeInstall.cmd

Diese Batchdatei sollte im C:\SandboxScripts Verzeichnis auf dem Host erstellt werden. Es lädt VS Code in den temp Ordner innerhalb der Sandbox herunter und führt die Installation aus dem Ordner aus 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>

Beispiel 3: Zuordnen von Ordnern und Ausführen eines PowerShell-Skripts als Anmeldebefehl

Ab Windows 11 Version 24H2 werden Windows-Sandbox den Mauseinstellungen des Hostsystems zugewiesen. Wenn Sie einen älteren Build verwenden und das Hostsystem auf die Verwendung einer linkshändigen Maus festgelegt ist, müssen Sie diese Einstellungen in Windows-Sandbox manuell anwenden, wenn Windows-Sandbox gestartet wird. Alternativ können Sie eine Sandboxkonfigurationsdatei verwenden, um einen Anmeldebefehl auszuführen, um die Mauseinstellung zu tauschen.

In diesem Beispiel wird der C:\sandbox Ordner auf dem Host dem C:\sandbox Ordner in der Sandbox zugeordnet, sodass in der SwapMouse.ps1 Sandboxkonfigurationsdatei auf das Skript verwiesen werden kann.

SwapMouse.ps1

Erstellen Sie ein PowerShell-Skript mit dem folgenden Code, und speichern Sie es im C:\sandbox Verzeichnis als 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>