Was ist PowerShell?1
PowerShell ist ein plattformübergreifendes Framework zur Aufgabenautomatisierung und Konfigurationsverwaltung, das aus einer Befehlszeilenshell und einer Skriptsprache besteht. PowerShell kann unter Windows, Linux und macOS ausgeführt werden.
Befehlszeilen Shell
PowerShell ist eine moderne Befehlsshell, die die besten Features anderer beliebter Shells umfasst. Anders als die meisten Shells, die nur Text akzeptieren und zurückgeben, kann PowerShell auch .NET-Objekte akzeptieren und zurückgeben.
„Skriptsprache“
Als Skriptsprache wird PowerShell häufig zum Automatisieren der Verwaltung von Systemen verwendet. Sie wird auch zum Erstellen, Testen und Bereitstellen von Lösungen verwendet – insbesondere in CI/CD-Umgebungen. PowerShell basiert auf der .NET Common Language Runtime (CLR). Alle Ein- und Ausgaben sind .NET-Objekte. Die Textausgabe muss nicht analysiert werden, um Informationen aus der Ausgabe zu extrahieren.
Wie öffne ich PowerShell?
Hier muss man unterscheiden, welches PowerShell man verwenden will:
- PowerShell 5 (PS5):
PowerShell 5 ist bei Windows vorinstalliert und kann „Out of the box“ benutzt werden.
Um PowerShell 5 zu öffnen, einfach in der Windowssuche nach „PowerShell“ suchen und „Windows PowerShell“ auswählen:
- PowerShell 7 (PS7)2:
PowerShell 7 ist nicht vorkonfiguriert und muss erst installiert werden.
PowerShell 7 gibt es für Windows, Linux, MacOS und ARM:- Windows: Installieren von PowerShell unter Windows – PowerShell | Microsoft Learn
- Linux: Install PowerShell on Linux – PowerShell | Microsoft Learn
- MacOS: Installing PowerShell on macOS – PowerShell | Microsoft Learn
- ARM: PowerShell on Arm-based systems – PowerShell | Microsoft Learn
Sobald PowerShell 7 installiert ist, kann es wie bei PowerShell 5 einfach ausgeführt werden:
Was ist ein PowerShell Modul?
Nachdem PowerShell (PS5 oder PS7) installiert und geöffnet ist, haben wir solch eine Ansicht:
- PowerShell 5 (Ansicht unter Windows 11):
- PowerShell 7 (Ansicht unter Windows 11):
Unabhängig von der Version können wir aktuell noch nicht auf M365 zugreifen, da uns die Module, die wir benutzen wollen, noch fehlen.
Ein Modul stellt also die Befehle für die Verbindung zu den Online Services her (z.b. zu Entra ID oder Exchange Online), also auch die Befehle für das Auslesen, die Neuanlagen oder Änderung von entsprechenden Objekten oder Einstellungen eines M365 Tenants, vorausgesetzt, die benötigten Berechtigungen liegen dem Account, mit dem sich verbunden wird, bereit.
Eine Übersicht der Module kann unter der Webseite PowerShell Gallery (https://www.powershellgallery.com/) eingesehen werden.
Einige ältere Module gibt es nur unter PowerShell 5 und neuere nur unter PowerShell 7. PowerShell 7 ist hierbei die neuere Version und neue Module werden wohl hauptsächlich für PowerShell 7 zur Verfügung gestellt.
Wie installiert man ein PowerShell Modul?
Nachdem wir geklärt haben, was ein PowerShell Modul macht, wollen wir jetzt eines installieren.
In unserem Beispiel wollen wir uns mit dem MailServer der M365 Umgebung „Exchange Online“ verbinden.
Der Befehl dazu lautet „connect-exchangeonline“.
Wenn wir dies ausführen, obwohl das Modul noch nicht installiert ist, erhalten wir die folgende Fehlermeldung:
Der Befehl „connect-exchangeonline“ ist nicht bekannt.
In unserem Fall müssen wir also das Modul „ExchangeOnlineManagement“ installieren.
Dies erfolgt über „install-module – Name ExchangeOnlineManagement“:
Nachdem das Modul installiert wurde, können wir uns nun mit „connect-exchangeonline“ erfolgreich verbinden und eine erste Abfrage machen:
Quellen:
- Was ist PowerShell? – PowerShell | Microsoft Learn: ↑
https://learn.microsoft.com/de-de/powershell/scripting/overview?view=powershell-7.4 - So installieren Sie PowerShell 7 | Microsoft Learn: ↑
https://learn.microsoft.com/de-de/shows/it-ops-talk/how-to-install-powershell-7-
- Windows: Installieren von PowerShell unter Windows – PowerShell | Microsoft Learn:
https://learn.microsoft.com/de-de/powershell/scripting/install/installing-powershell-on-windows - Linux: Install PowerShell on Linux – PowerShell | Microsoft Learn:
https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-linux - MacOS: Installing PowerShell on macOS – PowerShell | Microsoft Learn:
https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-macos - ARM: PowerShell on Arm-based systems – PowerShell | Microsoft Learn:
https://learn.microsoft.com/en-us/powershell/scripting/install/powershell-on-arm
- Windows: Installieren von PowerShell unter Windows – PowerShell | Microsoft Learn:
-
- WinGet: Verwenden von WinGet zum Installieren und Verwalten von Anwendungen | Microsoft Learn:
https://learn.microsoft.com/de-de/windows/package-manager/winget/#install-winget - PowerShell5: Installieren eines PowerShell-Moduls – PowerShell | Microsoft Learn:
https://learn.microsoft.com/de-de/powershell/scripting/developer/module/installing-a-powershell-module?view=powershell-5.1 - PowerShell7: Installing a PowerShell Module – PowerShell | Microsoft Learn:
https://learn.microsoft.com/de-de/powershell/scripting/developer/module/installing-a-powershell-module?view=powershell-7.4 - Exchange Online PowerShell: Herstellen einer Verbindung mit Exchange Online PowerShell | Microsoft Learn:
https://learn.microsoft.com/de-de/powershell/exchange/connect-to-exchange-online-powershell?view=exchange-ps