Loading repository data…
Loading repository data…
maester365 / repository
Maester is a test automation framework to help you stay in control of your Microsoft security configuration.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Monitor your Microsoft 365 tenant's security configuration using Maester!
Maester is an open source PowerShell-based test automation framework designed to help you monitor and maintain the security configuration of your Microsoft 365 environment. To learn more about Maester and to get started, visit Maester.dev.
[!WARNING]
Known Issue: We recommend not using v3.9.2 of the ExchangeOnlineManagement module at this time. Many users experience errors while connecting with v3.9.2 but previous versions are generally reliable. This is an issue with the ExchangeOnlineManagement module and not Maester itself.
Install-Module -Name Maester -Scope CurrentUser
Run the following commands to install the Maester tests under your home directory. Pester will be installed if needed.
md ~/maester-tests
cd ~/maester-tests
Install-MaesterTests
To run the tests in this folder run the following PowerShell commands. To learn more see maester.dev.
cd ~/maester-tests
Connect-Maester
Invoke-Maester
An optional parameter, -Environment, can be utilized on Connect-Maester to specify the name of the national cloud environment to connect to. By default global cloud is used.
Allowed values include:
Connect-Maester -Environment USGov
The Maester team will add new tests over time. To get the latest updates, use the commands below to update this folder with the latest tests.
Maester PowerShell module to the latest version and load it.Update-MaesterTests to update the test files in the folder where you have installed them.Update-Module Maester -Force
Import-Module Maester
Update-MaesterTests -Path ~/maester-tests
Maester is also published to the GitHub marketplace and can be used directly in any GitHub workflow. Because it is built for GitHub, it integrates with the features of GitHub Actions, like uploading artifacts and writing a summary to the workflow run.
For more details, please refer to the docs or the action repository.
The GitHub Action is moved to a new repository.
[!NOTE] If you are using the old action
maester365/maesteryou should migrate to the new actionmaester365/maester-action. Check out the deprecation notice for more details.
Maester's source code lives in the powershell/ and tests/ folders. To produce the publishable module locally, run the build script from the repository root:
./build/Build-LocalMaester.ps1
This builds and validates the module, unloads any other Maester module, and
imports the local build into the current PowerShell session. Run its packaged
tests with Invoke-Maester -Path ./module/maester-tests.
The module/ folder is a build artifact — it is ignored by git and never committed to source control. Built modules are attached to each GitHub Release and published to the PowerShell Gallery from CI. See the contributing guide for full details.
Contributions are welcome! If you want to contribute new tests or improve existing ones, please refer to the contribution guide.