Sandbox di Windows file di configurazione di esempio
Esempio 1 : Mapping di cartelle e test di un file scaricato sconosciuto in una sandbox
Il file di configurazione seguente può essere usato per testare facilmente i file scaricati sconosciuti all'interno di una sandbox. Per eseguire questo test, la rete e la vGPU sono disabilitate e la sandbox può accedere in sola lettura alla cartella download dall'host e viene inserita all'interno di una cartella "temp" nella sandbox. Per praticità, il comando di accesso apre la cartella download all'interno della sandbox all'avvio.
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>
Esempio 2 - Installazione di Visual Studio Code all'avvio in una sandbox
Il file di configurazione seguente installa Visual Studio Code nella sandbox, che richiede un'installazione di LogonCommand leggermente più complessa.
Nella sandbox vengono mappate due cartelle; il primo (SandboxScripts
) contiene VSCodeInstall.cmd, che installa ed esegue Visual Studio Code. Si presuppone che la seconda cartella (CodingProjects
) contenga i file di progetto che lo sviluppatore vuole modificare usando Visual Studio Code.
Con lo script del programma di installazione di Visual Studio Code già mappato nella sandbox, può <LogonCommand>
farvi riferimento.
VSCodeInstall.cmd
Questo file batch deve essere creato nella C:\SandboxScripts
directory dell'host. Scarica VS Code nella temp
cartella all'interno della sandbox ed esegue l'installazione dalla temp
cartella.
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>
Esempio 3: Mapping di cartelle ed esecuzione di uno script di PowerShell come comando di accesso
A partire da Windows 11 versione 24H2, Sandbox di Windows rispetta le impostazioni del mouse del sistema host. Se si usa una build precedente e se il sistema host è impostato per l'uso di un mouse sinistrorso, è necessario applicare queste impostazioni in Sandbox di Windows manualmente all'avvio Sandbox di Windows. In alternativa, è possibile usare un file di configurazione sandbox per eseguire un comando di accesso per scambiare l'impostazione del mouse.
In questo esempio viene eseguito il mapping della C:\sandbox
cartella nell'host alla C:\sandbox
cartella nella sandbox, in modo che sia possibile fare riferimento allo SwapMouse.ps1
script nel file di configurazione della sandbox.
SwapMouse.ps1
Creare uno script di PowerShell usando il codice seguente e salvarlo nella C:\sandbox
directory come 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>