Zum Inhalt
WindowsSandbox pre-installed PowerShell modules
Home » Pre-Installed PowerShell Module in Windows Sandbox

Pre-Installed PowerShell Module in Windows Sandbox

Die Windows Sandbox ist ein super Tool, um Installationen oder Programmverhalten zu testen. Oft werden für solche Aufgaben aber PowerShell Module benötigt, welche nicht vorinstalliert sind. PowerShell Module können aber einfach mit einem WSB- und PS1-File in der Windows Sandbox installiert werden. Ich nutze dazu für verschiede Zwecke jeweils denselben Aufbau des WSB Files mit den entsprechenden PowerShell Modulen in einem Array.

Der Aufbau des WSB Files ist der folgende:

<Configuration> <MappedFolders> <MappedFolder> <HostFolder>C:\GitHub\scloud\Windows-Sandbox</HostFolder> <ReadOnly>true</ReadOnly> </MappedFolder> </MappedFolders> <LogonCommand> <Command>powershell -executionpolicy unrestricted -command "start powershell {-noexit -file C:\Users\WDAGUtilityAccount\Desktop\Windows-Sandbox\APP-Upload.ps1}"</Command> </LogonCommand> </Configuration>
Codesprache: HTML, XML (xml)

Mit dieser Konfiguration (Linie 4 & 5) wird der Ordner, in welchem sich das PowerShell Installations File befindet, im ReadOnly-Modus in die Sandbox gemappt.
In der Linie 9 ist definiert, dass das entsprechende PS1 File beim Start gestartet wird.
Der Inhalt dieses ist:

# Array of the PowerShell Modules $PSModules = "ExchangeOnlineManagement", "MicrosoftTeams" # ExecutionPolicy and NuGet Set-ExecutionPolicy Unrestricted -Force Install-PackageProvider -Name NuGet -Force # Install all defined Modules foreach($Module in $PSModules){ Write-Host $Module Install-Module -Name $Module -Force }
Codesprache: Power Shell (powershell)

In diesem Beispiel installiere ich das Exchange Online und Teams Modul.

Sobald diese beiden Dateien bestehen, kann die WSB Datei doppelgeklickt werden und startet die Sandbox inklusive der Modul Installation.
Die Beispieldateien sind zudem hier zum Herunterladen auf meinem GitHub Repo (PS-Modules.ps1 & PS-Modules.wsb): scloud/Windows-Sandbox at main · FlorianSLZ/scloud (github.com)

Des Weiteren habe ich einige zusätzliche Beispiele erstellt, welche helfen können:

FilenameBeschreibung
win32-automatedImport von win32 Applikationen in Intune. (Blog-Beitrag)
HostMachine-FolderRead/Write Zugriff auf den lokalen GitHub Repo Ordner sowie Module "MSOnline", "AzureADPreview"
M365DocumentationZum Erstellen der M365 Dokumentation (by Thomas Kur, Github)
PS-ModulesBeispiel von Oben
CallFlowDokuVisualisierung der Teams Call-Flows: Demo und Erklärung

Wichtig ist beim Verwenden meiner Vorlage, die Pfade im WSB File anzupassen. Ansonsten funktioniert die Installation der PowerShell Module in der Windows Sandbox nicht.

Ich selbst nutze gerade die Option des eingebundenen Ordners oft, um Programminstallationen zu testen, wie z.B. meine Win32 Apps (my take on win32 apps - Intune | scloud).

Windows Sandbox aktivieren

Funktioniert das Öffnen der Sandbox nicht, muss das Windows Feature möglicherweise zuerst aktiviert werden.
Das kann unter den Windows Features oder mit folgendem PowerShell gemacht werden:

Enable-WindowsOptionalFeature -FeatureName "Containers-DisposableClientVM" -Online -NoRestart -ErrorAction Stop
Codesprache: Power Shell (powershell)

1 Gedanke zu „Pre-Installed PowerShell Module in Windows Sandbox“

  1. Pingback: win32 App Deployment automatisiert | scloud

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.