Bibliothek / SDK
maester365/maester avatar
maester365/maester

Maester: PowerShell-Framework für Microsoft-365-Sicherheitstests

Maester ist ein Testautomatisierungs-Framework, das Ihnen hilft, die Kontrolle über Ihre Microsoft-Sicherheitskonfiguration zu behalten.

1.096 Sterne280 ForksHTMLMIT

Auf einen Blick

Was ist das?
Maester von maester365 automatisiert Sicherheitstests für Microsoft-365-Tenants über PowerShell und Pester, mit Exportformaten, Benachrichtigungen und CI/CD-Pfaden für GitHub, Azure DevOps und GitLab.
Für wen ist es gedacht?
Maester passt für Teams, die die Sicherheitskonfiguration eines Microsoft-365-Tenants regelmäßig prüfen wollen und PowerShell als Werkzeug akzeptieren. Der Einstieg ist mit `Install-MaesterTests` im Heimatverzeichnis und `Invoke-Maester` im Testordner dokumentiert.
Darf ich es kommerziell nutzen?
Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 2 Tagen.
In welcher Sprache ist es geschrieben?
Hauptsächlich HTML, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 19. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Maester: automatische Tests für die M365-Sicherheitslage

Maester versteht sich laut README als PowerShell-basiertes Test-Framework für die Sicherheitskonfiguration von Microsoft 365. Die Idee: Die Sicherheitslage eines Tenants wird durch automatisierte Tests regelmäßig abgefragt und bleibt dadurch nachvollziehbar. Am Tag der Analyse stehen 1077 Sterne, 277 Forks und 55 offene Issues im Repository; das Projekt ist nicht archiviert, der Standardzweig heißt main. Die Metadaten listen HTML als Sprache, die eigentliche Logik liegt nach README in PowerShell-Dateien.

Der Einstieg führt über die Website maester.dev, auf die das README für Details verweist. Weil Maester Microsoft-365-Prüfungen automatisiert, richtet sich das Tool an Administratoren, die ihre Konfiguration gegen ein laufendes Testset absichern möchten.

Installation: Modul aus der PowerShell Gallery und Testordner

Die Installation läuft über die PowerShell Gallery: `Install-Module -Name Maester -Scope CurrentUser`. Für die Testsuite selbst legt das README einen eigenen Ordner an: `md ~/maester-tests`, dann `cd ~/maester-tests` und `Install-MaesterTests`. Pester wird dabei bei Bedarf mitinstalliert. Damit steht ein testbarer Ausgangspunkt bereit, bevor die erste Sicherheitsprüfung beginnt.

Die Tests liegen im Home-Verzeichnis und sind dadurch vom Modul getrennt. Diese Trennung erleichtert Updates, weil Testdateien und Modulversion unabhängig voneinander angefasst werden können.

Lauf mit Connect-Maester und Invoke-Maester

Der Ablauf im Testordner ist kurz: `Connect-Maester` baut die Verbindung auf, `Invoke-Maester` führt die Tests aus. Für nationale Cloud-Umgebungen nimmt `Connect-Maester` den Parameter `-Environment`; erlaubt sind laut README Global als Standard, China, USGov und USGovDOD. `Connect-Maester -Environment USGov` wählt gezielt die US-Government-Cloud.

Die Standardeinstellung bleibt die globale Microsoft-365-Cloud, wenn der Parameter weggelassen wird. Wer zwischen mehreren Umgebungen wechselt, sollte die gewünschte Umgebung deshalb bewusst setzen, statt sich auf den Default zu verlassen.

Tests aktualisieren und aus dem Quellcode bauen

Das Team ergänzt laut README über die Zeit neue Tests. Drei Kommandos halten den lokalen Stand: `Update-Module Maester -Force`, danach `Import-Module Maester` und zuletzt `Update-MaesterTests -Path ~/maester-tests`. Auf diese Weise bleiben Testordner und Modul synchron.

Wer aus dem Quellcode bauen will, findet die Dokumentation im Repository: Die Logik lebt in `powershell/` und `tests/`, der Build läuft über `./build/Build-LocalMaester.ps1`. Eine Report-Änderung erfordert `-BuildReport`, bevor das Modul gebaut und importiert wird. Der `module/`-Ordner ist laut README ein Build-Artefakt, das git ignoriert; ausgelieferte Module hängen an den GitHub Releases.

Ausgabeformate und Benachrichtigungen

Die Ergebnisse exportiert Maester in mehreren Formaten: CSV, Excel, HTML, JSON oder Markdown. Gemeldet werden können die Resultate per E-Mail, Teams oder Slack. Damit geht das Monitoring über eine einzelne Konsole hinaus und kann als regelmäßige Prüfung in den Tagesbetrieb eingebaut werden.

Für individuelle Prüfungen ergänzt der Anwender eigene Pester-Tests; das README nennt diese Anpassung ausdrücklich als Feature. Wer also strengere oder spezifische Regeln braucht, als die mitgelieferten Tests abdecken, erweitert die Suite selbst.

CI/CD: GitHub Action und die Migrationsnotiz

Maester ist als GitHub Action im Marketplace verfügbar und lässt sich direkt in Workflows einbinden. Die Integration nutzt GitHub-Funktionen wie das Hochladen von Artefakten und eine Zusammenfassung im Workflow-Lauf. Die Action lebt inzwischen im eigenen Repository maester365/maester-action; wer noch die ältere Action `maester365/maester` verwendet, soll laut README auf die neue Variante umziehen und dazu die Deprecation-Notiz lesen.

Damit sind mehrere Ausführungspfade dokumentiert: lokal über PowerShell, in deren Pipelines von GitHub, Azure DevOps oder GitLab sowie als dedizierte Action innerhalb von GitHub-Workflows.

Bekannte Einschränkung: ExchangeOnlineManagement 3.9.2

Eine Warnung im README ist ausdrücklich: Mit Version 3.9.2 des ExchangeOnlineManagement-Moduls treten bei vielen Nutzern Verbindungsfehler auf. Empfohlen wird, diese Version für Maester zu meiden; frühere Versionen gelten laut Projekt im Allgemeinen als zuverlässig. Der Hinweis betrifft das Exchange-Modul, nicht Maester selbst.

Die Warmmeldung zeigt zugleich, dass Nutzerumgebungen variieren. Modul-Versionen außerhalb von Maester können das Verhalten beeinflussen; wer beim Verbindungsaufbau auf Fehler stößt, prüft als Erstes die installierte Exchange-Modul-Version.

MIT-Lizenz und Einordnung von Maester

Die Lizenz ist MIT. Für Maester bedeutet das freie Nutzung und Weitergabe mit Urheberrechtshinweis; eigene Tests bleiben mit dem Projekt kompatibel, ohne Copyleft-Verpflichtungen. Die jüngsten Releases tragen Vorschau-Stände wie 2.2.40-preview; wer strikte Stabilität braucht, sollte das Muster der Veröffentlichungen beobachten.

Insgesamt ist Maester dort nützlich, wo Microsoft-365-Sicherheitskonfiguration regelmäßig geprüft werden soll. Die dokumentierten Pfade beginnen mit `Install-MaesterTests` und `Invoke-Maester`; Formate und Benachrichtigungen sind belegt. Vor der Übernahme in die Produktion bleibt eine Prüfung in einer eigenen Testumgebung der richtige nächste Schritt.

Redaktionelles Fazit

Maester passt für Teams, die die Sicherheitskonfiguration eines Microsoft-365-Tenants regelmäßig prüfen wollen und PowerShell als Werkzeug akzeptieren. Der Einstieg ist mit `Install-MaesterTests` im Heimatverzeichnis und `Invoke-Maester` im Testordner dokumentiert. Vor dem Produktiveinsatz sollte eine Testumgebung die Verbindung über `Connect-Maester` prüfen, die Ausgabeformate CSV bis Markdown ausprobieren und die Version des ExchangeOnlineManagement-Moduls meiden, die das README als fehlerhaft benennt.

Offizielle Quellen

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community-Notizen

Community-Notizen