PowerShell mit Docker

In der Serie PowerShell am Mac hatte ich das letzte Mal eine funktionsfähige PowerShell via brew installiert und in Betrieb genommen. Es gibt aber auch eine Alternative, die man ins Auge fassen kann: PowerShell mit Docker.

Das Ziel ist es PowerShell in Docker aufzurufen und eine Verbindung in Microsoft 365 zu etablieren.

Apple Silicon User aufgepasst: Stand heute habe ich die PowerShell am M1 nicht zum Laufen gebracht. Sollte sich daran was ändern, werde ich den Post updaten.

Docker am Mac installieren

Wenn Du docker bereits installiert hast, kannst Du einfach schnell und sauber zu diesem Punkt springen. Falls nicht folgst Du einfach weiter dieser Anleitung. Als Hinweis sei noch angemerkt, das ich das Konzept hinter Docker hier nicht erklären werde.

Die Installation ist simpel. Du lädst unter https://docs.docker.com/desktop/install/mac-install/ die passende Version für Deinen Mac (Intel|Apple Silicon) und folgst den Anweisungen. Im Großen und Ganzen ist das:

  1. Doppelklick Docker.dmg
  2. Drag & Drop Docker Icon in den Programme-Ordner
  3. Doppelklick Docker

Die Einstellungen erfolgen über das Wal+Container-Icon in der Menüleiste. Bei der Apple Silicon Version sind noch einige Hinweise zu beachten.

Manövrieren

(Intel) Ausgehend von der abgeschlossenen Docker Installation geht alles eigentlich ganz schnell. Du ziehst und startest das Image mit dem nachfolgenden Befehl:

docker pull mcr.microsoft.com/powershell
docker run -it mcr.microsoft.com/powershell
PowerShell

Im Terminal oder iTerm ergibt sich dann die Quittung:

Docker am Mac installieren

Damit sind im Wesentlichen die Vorbereitungen auch schon erledigt. Nächster Schritt ist die Verbindung zu Microsoft 365. Damit installiere, bzw. importiere ich die notwendigen Module. Den Trust musst Du bitte entsprechend Deinen Bedürfnissen und Anforderungen selbst bestimmen.

PS />Install-Module ExchangeOnlineManagement

Untrusted repository
You are installing the modules from an untrusted repository. 
If you trust this repository, change its InstallationPolicy 
value by running the Set-PSRepository cmdlet. Are you sure 
you want to install the modules from 'PSGallery'?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  
[?] Help (default is "N"):A[/shell]

PS />Import-Module ExchangeOnlineManagement
PowerShell

Um den Connect zu Exchange Online / Microsoft 365 herzustellen gibt es zwei Möglichkeiten:

  • interaktiv
  • automatisiert

Interaktiv

Die interaktive Variante öffnet ein Browserfenster in dem die Anmeldeinformationen eingegeben werden müssen. Der passende Befehl an der Kommandozeile

PS />Connect-ExchangeOnline -UserPrincipalName ` 
           user@meintenant.onmicrosoft.com
PowerShell

Dazu gibt es eine Handvoll Parameter, die Microsoft in seiner Hilfe zur Verfügung stellt.

PS />Get-Help Connect-ExchangeOnline
PowerShell

Automatisiert

Für die automatisierte Variante (Skript), wird zunächst das Passwort in eine Variable gepackt.

PS />$hdPasswd = ConvertTo-SecureString -String `
     'HierDasHighDefinitionsPasswort' -AsPlainText `
     - Force
PowerShell

Die Variable $hdPasswd wird dann in eine weitere Variable mit Anmelde-Informationen übergeben.

PS />$logMeIn = New-Object System.Management.Automation.PSCredential ` 
     ('user@meintenant.onmicrosoft.com', $hdPasswd)
PowerShell

Schlußendlich wird die neue Variable $logMeIn an den Connect Befehl übergeben.

PS />Connect-ExchangeOnline -Credential $logMeIn
PowerShell

Jetzt beginnt der Zauber an der PowerShell mit den entsprechenden Befehlen die Du absetzen muss. Es gibt ja meistens einen Grund, warum Du Dich mit Microsoft 365 verbinden willst und wolltest. Zum guten Schluss, wenn die Arbeit vollbracht ist meldest Du Dich wieder ab

PS />Disconnect-ExchangeOnline
PowerShell

Zusammenfassung

Ich habe Dir mit ein paar kurzen Hinweisen gezeigt, wie Du die PowerShell mit Docker installierst und Dich interaktiv oder automatisiert an Microsoft 365 anmeldest. Einmal connected, kannst Du Azure an der Kommandozeile Deinen Willen aufzwängen.

Start » PowerShell mit Docker

Schreibe einen Kommentar