Windows Sandbox sur Windows 11 : effectuez vos tests en toute sécurité dans un bac à sable

Astuces

Windows Sandbox sur Windows 11 : effectuez vos tests en toute sécurité dans un bac à sable

I. Présentation

Depuis Windows 10 version 1903, Microsoft propose Windows Sandbox, une fonctionnalité intégrée aux éditions professionnelles et entreprise de Windows. Sur Windows 11, cette fonctionnalité est toujours présente, toujours aussi pratique, et très pratique pour effectuer des tests en toute sécurité.

Le principe est simple : Windows Sandbox permet de lancer un environnement Windows temporaire et isolé, sous forme de machine virtuelle légère ! Cette fonctionnalité est idéale dans différents cas d’usage, parmi lesquels :

  • Tester un logiciel ou un exécutable (sans venir “polluer” son système principal),
  • Ouvrir un fichier suspect,
  • Exécuter un script PowerShell,
  • Naviguer ou manipuler temporairement sans laisser de trace sur Windows

Attention, à la fermeture de la sandbox, toutes les modifications sont perdues. À la réouverture, vous repartez d’un environnement propre. Windows Sandbox est donc un environnement jetable et réutilisable à souhait.

Vous préférez le format vidéo ? Retrouvez ce tutoriel en vidéo sur ma chaîne YouTube :

Version originale de l’article : 31 octobre 2019.

II. Prérequis pour Windows Sandbox sur Windows 11

Avant de profiter de Windows Sandbox, assurez-vous de respecter les conditions suivantes : v b asqwù>.

Prérequis Détail
Édition de Windows Windows 11 Pro, Enterprise ou Education – Non disponible sur l’édition Famille. Windows 10 est compatible également (version 1903 ou supérieure)
Architecture 64 bits (x64)
RAM minimale 4 Go, 8 Go recommandés
Processeur 2 cœurs minimum
Espace disque 1 Go libre minimum
Virtualisation Activée dans le BIOS/UEFI, à savoir Intel-VT ou AMD-V. Recherchez une option comme “Virtualization Technology“.

Vous pouvez vérifier si Sandbox est activée avec cette commande PowerShell :


Vous obtenez un résultat similaire à celui ci-dessous, avec l’état de la fonctionnalité sur la ligne . La valeur indique que la fonction de Bac à sable de Windows est désactivée.


III. Activer Windows Sandbox sur Windows 11

Désormais, nous allons voir comment activer Windows Sandbox (WSB) sur une machine Windows 11. L’activation peut être effectuée via l’interface graphique ou la ligne de commande PowerShell.

  1. Ouvrez le menu Démarrer et tapez “Fonctionnalités”.
  2. Cliquez sur “Activer ou désactiver des fonctionnalités Windows”.
  3. Cochez “Bac à sable Windows” (ou “Windows Sandbox” si votre système est en anglais).
  4. Validez et redémarrez votre PC.

Si la case est grisée, c’est probablement parce que la virtualisation est désactivée dans le BIOS / UEFI de votre PC.

Si vous êtes plutôt adepte de PowerShell, voici une commande pour activer Windows Sandbox de cette façon. Pensez à lancer la console PowerShell en tant qu’administrateur.


Pour finaliser l’installation, vous devez redémarrer votre PC comme l’indique l’assistant.

IV. Prise en main de Windows Sandbox

Une fois activée, recherchez “Sandbox” dans le menu Démarrer et ouvrez l’application. Une session Windows minimaliste se lance dans une fenêtre isolée.

A. Windows Sandbox : quelques détails techniques

Avant d’évoquer l’utilisation de Windows Sandbox, il me semble intéressant de partager quelques détails techniques sur son fonctionnement et ses composants.

  • La sandbox repose sur la technologie de conteneurs de Windows, ce qui crée une différence avec les machines virtuelles traditionnelles.
  • Elle utilise deux processus principaux :
    • (environ 160 Mo de RAM)
    • (1 à 1,5 Go de RAM), exécuté avec un compte système isolé
  • Le compte sur l’environnement Bac à sable est nommé .

B. Lancer son premier bac à sable sur Windows

Pour lancer un bac à sable, vous n’avez qu’à rechercher Windows Sandbox sur votre PC et à le lancer.

Quelques secondes plus tard, vous devriez obtenir un environnement prêt à l’emploi, semblable à celui-ci :

L’environnement est minimaliste. Vous pouvez gérer le réseau, accéder aux paramètres et utiliser quelques applications comme l’Explorateur de fichiers et Microsoft Edge. Vous pouvez redimensionner la fenêtre de la Sandbox et même passer en plein écran.

Pour faciliter vos tests, vous pouvez constater dans les options que la redirection du presse-papiers est activée par défaut. Ainsi, vous pouvez copier-coller facilement des fichiers entre le Bac à sable et le système hôte. Sachez également que la sandbox est connectée au réseau, via votre hôte physique.

Vous pouvez réaliser différentes actions dans la Sandbox, lorsqu’elle sera fermée, tout sera effacé. Vous repartez de zéro à chaque fois. Essayez, vous verrez. Par contre, et c’est important de le préciser : le Bac à sable peut être redémarré. C’est pratique si vous installez un programme qui nécessite un redémarrage.

C. Personnaliser Windows Sandbox avec des fichiers .WSB

Windows Sandbox peut être configurée à l’aide de fichiers (Windows Sandbox Configuration Files). Il s’agit de l’extension choisie par Microsoft pour les fichiers de configuration Windows Sandbox. La syntaxe de ce fichier correspond à du XML, avec des balises propres à cette fonctionnalité.

À l’aide d’un bloc , vous pourrez définir des paramètres. Par exemple, vous pouvez décider de lancer une Sandbox sans réseau pour avoir un niveau d’isolation supérieur.


Un ensemble de paramètres sont disponibles pour vous permettre de personnaliser vos bacs à sable. Vous pouvez créer plusieurs fichiers de configuration WSB prêts à l’emploi et correspondant à différents types de Sandbox. Ils sont tous décrits dans la documentation de Microsoft.

Voici les principaux :

Fonction Configuration
Désactiver le réseau
Monter un dossier local
Exécuter une commande au démarrage
Désactiver le GPU virtualisé
Activer le mode client protégé (isolation renforcée)
Activer la redirection des imprimantes de l’hôte vers la sandbox
Spécifier la quantité de RAM disponible pour la sandbox (en MB)

Note : le mode client protégé s’appuie sur l’isolation AppContainer pour améliorer la sécurité. L’isolation d’AppContainer permet d’isoler les informations d’identification, les périphériques, les fichiers, le réseau, les processus et les fenêtres.

D. Exemple d’une sandbox personnalisée

Nous devons de voir, de façon théorique, quelques paramètres exploitables via le fichier de configuration WSB. Pour que ce soit plus concret, voici un exemple complet mettant en action ces différents paramètres.

Enregistrez le fichier suivant avec l’extension et double-cliquez dessus pour lancer une sandbox préconfigurée :


Quelle est la configuration de cette sandbox ? Si nous regardons de plus près le code XML, nous pouvons voir les actions suivantes :

  • Activation du réseau : la ligne permet d’activer la connectivité réseau dans l’environnement sandbox. Cela autorise l’accès à Internet et au réseau local, ce qui est utile pour tester des logiciels qui nécessitent une connexion. Dans certains cas, ce n’est pas souhaitable, donc il conviendra de passer cette option sur .
  • Partage d’un dossier avec l’hôte : la section permet de monter un dossier présent sur le système hôte, ici , dans la sandbox.
    Le paramètre indique que le dossier est en lecture seule, empêchant toute modification des fichiers d’origine. Ce montage permet d’accéder à des fichiers directement depuis la sandbox, sans avoir à les copier à l’intérieur manuellement. C’est idéal pour automatiser la construction du bac à sable. Vous pouvez mapper plusieurs dossiers, mais attention à ne pas mélanger avec .
  • Exécution automatique d’une commande : la section contient une commande à exécuter automatiquement à l’ouverture de la sandbox. Ici, il s’agit de lancer le fichier avec le paramètre (via pour effectuer une installation silencieuse et automatique), situé dans le dossier partagé. Le chemin complet spécifie le profil de l’utilisateur , qui est le compte utilisateur utilisé dans la Sandbox. L’exécutable doit donc être présent dans le dossier de l’hôte avant de lancer la sandbox.

Ainsi, cette configuration permet de créer un environnement de test isolé, avec un accès Internet, un dossier partagé en lecture seule, et le lancement automatique d’un exécutable. L’idée étant de vous montrer comment construire une sandbox personnalisée, avec un ou plusieurs logiciels qui s’installeront automatiquement lors du lancement du bac à sable.

Lorsqu’un dossier est monté dans la Sandbox, il est accessible par l’intermédiaire d’un raccourci sur le bureau. Vous pouvez également constater la présence de l’icône Mozilla Firefox, qui montre que l’application a été installée.

Si vous voulez installer une application comme Visual Studio Code, en récupérant les sources directement sur Internet, c’est possible. Voici la commande à utiliser (il y a en réalité un enchainement de 2 commandes) :


Si vous êtes allergique avec la syntaxe XML et que vous préférez les clics, vous pouvez utiliser l’outil communautaire Windows Sandbox Editor. Créé par Damien Van Robaeys, il permet de créer un fichier WSB à partir d’une interface graphique.

E. Créer une sandbox avec WinGet DSC

Par défaut, Windows Sandbox n’a pas accès au gestionnaire de paquets WinGet, car il n’est pas installé dans cet environnement minimaliste. Cependant, il est assez pratique pour automatiser l’installation d’applications, donc il peut s’avérer judicieux de l’installer. Vous pouvez l’installer avec des commandes exécutées dans un bloc dans un fichier WSB (via un script PS1 externe) ou en utilisant WinGet DSC.

WinGet DSC est une extension de WinGet permettant de déclarer l’état souhaité d’un ensemble d’applications à installer sur Windows, en utilisant un fichier de configuration YAML. Nous pourrions le considérer comme une extension de PowerShell DSC greffée directement sur WinGet.

Ainsi, nous pouvons déclarer la configuration attendue dans un fichier YAML et lancer la construction de la Windows Sandbox directement depuis WinGet. D’ailleurs, Microsoft met à disposition un modèle de configuration nommé qui sert à déployer une Sandbox en installant automatiquement WinGet.

Voici la partie principale de ce code (sans les commentaires) :


Ensuite, vous devez lancer la construction d’une sandbox depuis WinGet en exécutant cette commande :


Cette configuration va effectuer les actions suivantes :

  • Installer le fournisseur de paquet sur la machine
  • Installer le module PowerShell
  • Lancer une réparation du client WinGet grâce à la commande pour automatiser l’installation de WinGet.

L’installation de WinGet reste pour autant fastidieuse et elle ne fonctionne pas toujours. Surtout, c’est une opération qui prend plusieurs minutes… D’une manière générale, si vous lancez des scripts ou des commandes d’installation de paquets dans une Windows Sandbox, je vous recommande de lui associer au moins 4 Go de RAM ().

F. Windows Sandbox : installer des paquets avec WinGet

Voici une reformulation fluide et claire de ton paragraphe :

Pour terminer, voyons comment installer WinGet dans Windows Sandbox à l’aide des packages APPX et MSIXBUNDLE. Cette méthode présente l’avantage d’être plus fiable, plus rapide, et entièrement hors ligne, car les fichiers nécessaires sont préalablement téléchargés puis accessibles directement depuis la sandbox.

Vous devez créer un répertoire, comme , et lui ajouter ces fichiers :

Vous pouvez télécharger les paquets via ces liens :

  • Les dépendances VCLibs UWP Desktop et Microsoft UI XAML sont à récupérer dans cette archive ZIP
  • Le paquet Microsoft Desktop App Installer, correspondant à WinGet, peut être récupéré via ce lien
  • D’une façon générale, récupérez la version de votre choix en consultant le GitHub du projet WinGet.

Vous devez créer un fichier de Sandbox. Ce fichier sert à configurer automatiquement une instance de Windows Sandbox en installant WinGet et plusieurs paquets (applications). Il exécute un script PowerShell au lancement et ce script nommé se chargera de préparer l’environnement.


Remarque : l’option <LogonCommand> peut être utilisée pour lancer un script PowerShell à l’aide de powershell.exe et les bons arguments, notamment -File pour préciser le nom du fichier à exécuter. Vous pouvez exécuter les actions de votre choix.

Voici le code du script PowerShell permettant d’installer WinGet et plusieurs applications, à savoir PowerShell (dernière version), Visual Studio Code et Mozilla Firefox. Ces paquets seront récupérés en ligne. La transcription PowerShell est activée afin d’avoir un fichier journal sur le Bureau de la Sandbox, ce qui sera particulièrement utile pour suivre la progression (et éventuellement faire du débogage).


Une fois votre Sandbox construire à partir de ce modèle, vous obtiendrez cet environnement :

Grâce à ce script, vous pouvez automatiser l’installation de WinGet et d’un ensemble d’applications dans Windows Sandbox, même si WinGet n’est pas préinstallé.

V. Conclusion

Windows Sandbox est une fonctionnalité puissante, simple à utiliser et très pratique pour tester des logiciels ou manipuler des fichiers suspects sans compromettre la sécurité de votre système principal. Grâce à sa nature éphémère et isolée, elle constitue une solution idéale pour les environnements de test temporaires, sans pour autant remplacer les machines virtuelles.

Avec les fichiers de configuration , il est de personnaliser le comportement de la sandbox : exécution de scripts, montage de dossiers, désactivation du réseau, etc. De quoi créer des environnements adaptés à vos besoins. Pour une intégration encore plus forte, vous pouvez tester l’outil Run-in-Sandbox, également développé par Damien Van Robaeys et qui d’exécuter facilement un fichier dans une sandbox d’un simple clic droit.

Utilisez-vous Windows Sandbox ? N’hésitez pas à partager vos retours en commentaire.

SOURCE