Windows Sandbox für Trainings

Windows Sandbox für Trainings

Windows Sandbox ist ein relativ junges Feature von Windows. Mit diesem ist es möglich eine komplett saubere Windows Installation innerhalb von Sekunden bereitzustellen. Dieses "zweite" Windows ist zudem komplett losgelöst von eurem eigentlichen Betriebssystem. Die zweite Eigenschaft welche die Sandbox sehr besonders macht, ist die Tatsache das sich die Sandbox danach komplett selbständig löscht.

Des weiteren kann man diese Sandbox relativ gut von außen vor Konfigurieren um sich so verschiedene Arbeitswelten zu schaffen. Damit man sich nun nicht jedes mal hinsetzen muss und komplett von vorne sein Training einrichten muss, habe ich nun in dem Repository "Windows Sandbox DevToolkit" angefangen einen Schnelleinstieg in die Welt der Sandbox Umgebungen bereitzustellen. Dieser ist bei weiten noch nicht perfekt.

Info: Für das weitere Vorgehen muss zuerst das Windows Feature "Windows Sandbox" aktiviert werden. Erweiterte Information kann man sich bei Thomas Maurer im Blog anschauen.

So nun aber zum DevToolkit. Was ist dies denn nun eigentlich? Bei dem DevToolkit handelt es sich um eine Script Sammlung die bei Bedarf eine Sandbox Instance so konfiguriert damit man in dieser bestimmte Programm entwickeln kann. Aktuell habe ich bisher nur die Grundsteine für .NET Core und PowerShell gelegt. Das Prinzip ist aber erweiterbar.

Zuerst müsst ihr euch das Repository downloaden. Habt ihr dies getan findet ihr im Ordner scenarios alle derzeit implementierten Szenarien. In jedem Szenario findet ihr ein Script mit dem Namen Start-Sandbox.... Dieses wird alle benötigten Tools herrunterladen und in der Sandbox bereitstellen. Das downloaden der Tools wird allerdings nur beim ersten Start durchgeführt. Danach werden diese bereitgehalten, so das der Start der Sandbox recht schnell erfolgen sollte.

Info: Man kann dem Script noch den Parameter ForceUpdate mitgeben, um das Downloaden zu erzwingen.

Nach dem Start der Sandbox öffnet sich in dieser eine CMD. Diese führt alle Installationen aus. Am Ende öffnet sich VsCode. Nun muss man die CMD und das geöffnete VsCode schließen.

Ich habe leider noch nicht rausgefunden wie man dem VsCode installer sagt, das er kein Fenster öffnen soll.

Der Grund warum man alles schließen muss nach der Installation, ist der dass die PATH Variable von den Scripten aktualisiert wird. Damit dies von den Tools übernommen wird müssen diese neu geöffnet werden.

Somit ist es nun möglich innerhalb weniger Minuten aus dem kompletten nix eine Entwicklerumgebung bereitzustellen.

Beispiel für VsCode und .NET

Ich freue mich natürlich über contributions. So feel free to add your scenario. 🙂