Home Getting Started Wiki Contribute Releases YouTube Resources
Microsoft365DSC - Be the Master of your Tenant

What is Microsoft365DSC?

Microsoft365DSC is an Open-Source initiative hosted on GitHub, lead by Microsoft engineers and maintained by the community. It allows you to write a definition for how your Microsoft 365 tenant should be configured, automate the deployment of that configuration, and ensures the monitoring of the defined configuration, notifying and acting on detected configuration drifts. It also allows you to extract a full-fidelity configuration out of any existing Microsoft 365 tenant. The tool covers all major Microsoft 365 workloads such as Exchange Online, Teams, Power Platforms, SharePoint and Security and Compliance.


Automate Icon

Automate

Using PowerShell Desired State Configuration (DSC) syntax, write a complete definition of how you want your Microsoft 365 tenant to be configured. The Microsoft365DSC module allows Microsoft 365 administrators to define how the configuration of the various workloads (SharePoint, Exchange, Security & Compliance, Teams, etc.), and apply the configuration in an automated way. For example, administrator that want to deploy a new Teams Calling Policy to their SharePoint Online workload, can do so with similar lines of code (all code examples can be found on the Resources List wiki page):


TeamsCallingPolicy CallingPolicy
{
    Identity                   = 'New Calling Policy'
    AllowPrivateCalling        = $false
    AllowVoicemail             = 'UserOverride'
    AllowCallGroups            = $true
    AllowDelegation            = $true
    AllowCallForwardingToUser  = $false
    AllowCallForwardingToPhone = $true
    PreventTollBypass          = $true
    BusyOnBusyEnabledType      = 'Enabled'
    Ensure                     = 'Present'
    Credential                 = $credsAdmin
}

Export Icon

Export

Microsoft365DSC allows organizations to export full fidelity configuration from existing Microsoft 365 tenants. We also provide a Graphical User Interface (GUI) to help users get started, allowing to to granularly select the components they want to export.

Microsoft365DSC Export Graphical User Interface

Synchronize Icon

Synchronize

Microsoft365DSC makes it very easy for users to keep multiple tenants' configuration synchronized. With the tool you can export the configuration from any existing tenant and re-apply it onto multiple other tenants, keeping their configuration synchronized.

M365DSC Synchronization Process

Assess Icon

Assess

Assess any Microsoft 365 tenant against a known good configuration and generate a discrepency report. Microsoft365DSC makes it feasible for organizations to validate the configuration of their existing Microsoft 365 tenant against industry's best practices with a single line command. You can assess any tenant against any baseline configuration that you and your team developed or use official Blueprints.

Microsoft365DSC also allows you to compare two configuration files and obtain the delta between the two. Whether you wish to compare the configuration between 2 tenants or two point-in-time exports of the same tenant, we've got you covered!


Monitor Icon

Monitor

Automatic monitoring of configuration drifts in your tenant and notification about detected drifts with in-depth details for troubleshooting. Microsoft365DSC will perform regular checks to detect configuration drifts (every 15 minutes by default) and can take one of the following 3 actions when drifts are detected:

Troubleshooting drift with event viewer logs

Report Icon

Report

Take any Microsoft365DSC configuration and generate a user friendly report from it in an Excel or HTML format. With a single command you can convert any Microsoft365DSC configuration

Sample Report generated with Microsoft365DSC