Giter VIP home page Giter VIP logo

maester's Introduction

๐Ÿ”ฅ Maester

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.

PSGallery Preview Version PSGallery Release Version PSGallery Downloads

build-validation publish-module-preview

Key Features

  • Automated Testing: Maester provides a comprehensive set of automated tests to ensure the security of your Microsoft 365 setup.
  • Customizable: Tailor Maester to your specific needs by adding custom Pester tests.
  • More to come...

Getting Started

Installation

Install-Module -Name Maester -Scope CurrentUser

Installing Maester Tests

To install the Maester tests run the following PowerShell commands. Pester will be installed if needed.

md maester-tests
cd maester-tests
Install-MaesterTests -Path .\tests

Running Maester

To run the tests in this folder run the following PowerShell commands. To learn more see maester.dev.

Connect-Maester
Invoke-Maester

Running Maester in a National Cloud Environment

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:

  • Global (default, if parameter is not specified)
  • China
  • Germany
  • USGov
  • USGovDOD
Connect-Maester -Environment USGov

Keeping your Maester tests up to date

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.

  • Update the Maester PowerShell module to the latest version and load it.
  • Navigate to the folder where you have your Maester tests.
  • Run Update-MaesterTests.
Update-Module Maester -Force
Import-Module Maester
Update-MaesterTests

Use as GitHub action

Maester is also published to the GitHub marketplace and can be used directly in any GitHub workflow.

Just provide the required client and tenant id. For more details please refer to the docs.

name: Maester Daily Tests

on:
  push:
    branches: ["main"]
  # Run once a day at midnight
  schedule:
    - cron: "0 0 * * *"
  # Allows to run this workflow manually from the Actions tab
  workflow_dispatch:

permissions:
      id-token: write
      contents: read
      checks: write

jobs:
  run-maester-tests:
    name: Run Maester Tests
    runs-on: ubuntu-latest
    steps:
    - name: Run Maester action
      uses: maester365/maester@main
      with:
        client-id: ${{ secrets.AZURE_CLIENT_ID }}
        tenant-id: ${{ secrets.AZURE_TENANT_ID }}
        include_public_tests: true # Optional
        pester_verbosity: None # Optional - 'None', 'Normal', 'Detailed', 'Diagnostic'

maester's People

Contributors

merill avatar f-bader avatar snozzberries avatar cloud-architekt avatar michaelmsonne avatar samerde avatar danielbradley1 avatar tdcthosc avatar arcath avatar guidobaijense avatar fflaten avatar chrfrohn avatar corpca-admin avatar pkothare avatar dnsinit avatar drpye avatar tbisque avatar iranogajec avatar fdicarlo avatar gerlasch avatar bakkerjan avatar devsecninja avatar petterfauske avatar robindadswell avatar svrooij avatar tbalthazar avatar thorstensauter avatar mircodemo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.