Sommaire
ToggleAvec l’arrivée de la version 1903 de Windows 10, une nouvelle fonctionnalité nommée Windows Sandbox fait son apparition.
Nous allons voir comment l’activer et configurer les Sandbox.
Windows Sandbox, késako ?
Windows Sandbox est une nouvelle fonctionnalité introduite dans la 1903.
Cette fonctionnalité permet de lancer des environnements virtualisés de votre système d’exploitation.
Contrairement à une VM classique, avec Windows Sandbox, vous n’aurez pas besoin d’installer l’environnement.
En effet, cette fonctionnalité utilise l’OS source de l’ordinateur hôte.
Cela permet donc, d’exécuter des instances de Windows 10 dans des environnements isolés et sécurisés.
L’intérêt serait par exemple de tester une installation d’application ou de script rapidement depuis un environnement autre que votre machine.
Le démarrage d’une Sandbox peut se faire via le menu démarrer ou par le biais d’un fichier de configuration, nommé fichier WSB.
Ce dernier permettra de configurer votre Sandbox, nous verrons cela par la suite.
Dans notre exemple, nous allons activer Windows Sandbox sur une VM.
Comment l’activer ?
Activer la virtualisation de la VM
Par défaut sur votre VM, la fonctionnalité Windows Sandbox est grisée, car la virtualisation matérielle est requise.
Pour activer Sandbox, procédez tel que ci-dessous :
- Arrêter la VM
- Vérifier la virtualisation en utilisant la commande suivante:
- Activer la virtualisation en utilisant la commande suivante:
- La fonctionnalité Windows Sandbox est maintenant disponible
Activer Windows Sandbox
Depuis Windows
- Dans la barre de recherche, saisie Features
- Allez dans Apps & features
- Allez dans Programs and Features
- Cliquez sur Turn Windows features on or off
- Cochez la case Windows Sandbox
- Redémarrez la VM
Depuis PowerShell
- Ouvrir PowerShell
- Saisir la commande suivante :
Démarrer Windows Sandbox
- Dans barre de recherche saisir Windows Sandbox
- Cliquez dessus pour démarrer la Sandbox
Comment configurer une Sandbox ?
Comme mentionné précédemment, vous pouvez lancer une Sandbox depuis le menu démarrer ou un fichier de configuration, wsb.
WSB, késako ?
Il s’agit simplement d’un raccourci qui vous permettra de lancer une Sandbox avec une configuration spécifique.
Ce type de fichier fonctionne comme un fichier XML, avec des balises ouvertes et fermées.
La structure principale se présente tel que ci-dessous :
<Configuration>
</Configuration>
Comment créer un fichier wsb ?
- Créer un fichier texte sur votre bureau par exemple
- Editer le fichier wsb avec Notepad++ par exemple.
- Changer l’extension .txt en .wsb
Que peut-on configurer ?
Les paramètres ci-dessous peuvent être configurés :
- Partage réseau (Enable ou Disable)
- Partage de dossiers (Chemin et accès)
- Commande au démarrage
- Exécution d’un script au démarrage
- Installation d’un programme au démarrage
Ci-dessous un schéma du fonctionnement provenant de Microsoft.
<Configuration>
<!-- Enable Virtualized GPU option or not -->
<VGpu>Disable or Enable</VGpu>
<!-- Enable Networking option or not -->
<Networking>Disable or Enable</Networking>
<!-- Map folder from host computer -->
<MappedFolders>
<MappedFolder>
<HostFolder>Path of the host folder</HostFolder>
<ReadOnly>true or false</ReadOnly>
</MappedFolder>
</MappedFolders>
<!-- Run a command at Sandbox startup -->
<LogonCommand>
<Command>commandline to run</Command>
</LogonCommand>
</Configuration>
Choses à prendre en compte :
- L’utilisateur par défaut sur une Sandbox est WDAGUtilityAccount
- Lorsque vous partagez un dossier, celui-ci sera automatiquement situé sur le bureau
- Lorsque vous fermez une Sandbox, les changements et installations seront perdues
Windows Sandbox en action
Exemple 1 : Exécution d’un script PS1
- Accès réseau et GPU activés
- Un dossier partagé : C:\Scripts – Le dossier Scripts contient un fichier Install.ps1
- Le PS1 sera exécuté au démarrage
- Le script affichera simplement un messagebox Ci-dessous le fichier wsb utilisé:
<Configuration>
<VGpu>Enable</VGpu>
<Networking>Enable</Networking>
<MappedFolders>
<MappedFolder>
<HostFolder>C:\Scripts</HostFolder>
<ReadOnly>true</ReadOnly>
</MappedFolder>
</MappedFolders>
<LogonCommand>
<Command>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -sta -WindowStyle Hidden -noprofile -executionpolicy unrestricted -file "C:\Users\WDAGUtilityAccount\Desktop\Scripts\install.ps1"</Command>
</LogonCommand>
</Configuration>
Ci-dessous la Sandbox en action :
Exemple 2 : Affichage d’une GUI WPF
- Accès réseau et GPU activés
- Un dossier partagé: C:\Applications- Le dossier Applications contient le tool à afficher
- Le PS1 sera exécuté au démarrage
Ci-dessous le fichier wsb utilisé :
<Configuration>
<VGpu>Enable</VGpu>
<Networking>Enable</Networking>
<MappedFolders>
<MappedFolder>
<HostFolder>C:\Applications</HostFolder>
<ReadOnly>true</ReadOnly>
</MappedFolder>
</MappedFolders>
<LogonCommand>
<Command>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -sta -WindowStyle Hidden -noprofile -executionpolicy unrestricted -file "C:\Users\WDAGUtilityAccount\Desktop\Applications\Computer_Infos\About_this_computer.ps1"</Command>
</LogonCommand>
</Configuration>
Ci-dessous la Sandbox en action :
Exemple 3 : Installation EXE
- Accès réseau et GPU activés
- Un dossier partagé: C:\Applications- Le dossier Applications contient l’EXE Notepad++
- L’installation de Notepad++ sera exécuté au démarrage
Ci-dessous le fichier wsb utilisé :
<Configuration>
<VGpu>Enable</VGpu>
<Networking>Enable</Networking>
<MappedFolders>
<MappedFolder>
<HostFolder>C:\Applications</HostFolder>
<ReadOnly>true</ReadOnly>
</MappedFolder>
</MappedFolders>
<LogonCommand>
<Command>"C:\Users\WDAGUtilityAccount\Desktop\Applications\Notepad++\npp.7.6.6.Installer.exe /S"</Command>
</LogonCommand>
</Configuration>
Ci-dessous la Sandbox en action :
Et ensuite ?
Dans mes prochains posts, je me pencherais davantage sur la configuration.Je vais également créer un outil permettant de gérer les Sandbox, tel que ci-dessous :