DscConfig.M365

0.8.0-preview0001

DSC composite resource for https://github.com/dsccommunity/DscWorkshop

Minimum PowerShell version

5.1

This is a prerelease version of DscConfig.M365.

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name DscConfig.M365 -AllowPrerelease

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name DscConfig.M365 -Prerelease

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

Copyright the DSC Community contributors. All rights reserved.

Package Details

Author(s)

  • DSC Community

Tags

DesiredStateConfiguration DSC DSCResource

Dependencies

This module has no dependencies.

Release Notes

## [0.8.0-preview0001] - 2026-08-30

### Added

- New `docs/GettingStarted.md` guide covering both supported paths: consuming the
 composite resources through Microsoft365DscWorkshop and building this module
 from source, including prerequisites, a first configuration and troubleshooting.
- Test configuration data for additional Microsoft365DSC resources:
 `AADB2BManagementPolicy`, `AADDeviceRegistrationPolicy`, `EXOMailContact`,
 `EXOSharedMailbox`, `IntuneWindowsAutopilotDeploymentProfileAzureADJoined`,
 `IntuneWindowsHelloForBusinessGlobalPolicy`, and the Android Enterprise Wi-Fi
 configuration policies (`AndroidEnterpriseDeviceOwner`,
 `AndroidEnterpriseWorkProfile`, `AndroidForWork`, `AndroidOpenSourceProject`).
- Corrected Syntax Errors for Example configuration data for the contrbuted resources

### Removed

- Obsolete `cIntuneWifiConfigurationPolicyAndroidDeviceAdministrator` test
 configuration data.

### Changed

- Corrected the Microsoft365DscWorkshop repository URL throughout the
 documentation. The project moved from `raandree/Microsoft365DscWorkshop` to
 `dsccommunity/Microsoft365DscWorkshop`.
- Rewrote the Microsoft365DscWorkshop integration documentation to match the
 actual configuration data layout: one YAML file per composite resource under
 the Datum hierarchy in `source/`, `Configurations.yml` to select the composite
 resources to enact, and the `lookup_options` needed to merge `Items` across
 layers. The previous `configurations/DscResourcesToExecute` example did not
 exist in Microsoft365DscWorkshop.
- Corrected the prerequisites in `docs/Installation.md`. The build requires
 Windows and PowerShell 7 or later; Windows PowerShell 5.1 fails in the
 `TestPowerShell7` task.
- Replaced the hard-coded resource list in `docs/Resources.md` with a description
 of how the generated set is determined by the assets in
 `tests/Unit/DSCResources/Assets/Config`, plus commands to list the resources of
 an installation. The previous list referenced resources that no longer exist in
 Microsoft365DSC.
- Fixed documentation examples that used properties the Microsoft365DSC resources
 do not expose: `AvailableToOtherTenants` on `AADApplication`, `Default` on
 `EXOAcceptedDomain`, and the nested `Conditions`/`GrantControls` objects on
 `AADConditionalAccessPolicy`.
- Documented the full set of connection parameters on array composite resources,
 including `ApplicationSecret` and `AccessTokens`, and noted that the push-down
 to `Items` is only generated for resources that expose `Ensure`.
- Update Microsoft365DSC to version 1.26.729.2 and set DscBuildHelpers and PSDesiredStateConfiguration to latest.
- Update Microsoft365DSC to version 1.26.819.1.
- Pinned `Pester` to `5.9.1` in `RequiredModules.psd1`.
- The `Create_Dsc_Composite_Resources` and `Create_Dsc_Resource_Yaml_File` build
 tasks now resolve Microsoft365DSC by the exact version pinned in
 `RequiredModules.psd1` and temporarily strip the `Program Files` module paths
 when calling `Get-DscResource`, avoiding duplicate CIM class definitions when
 the same version is also present in a system module path.
- `DscResources.Tests.ps1` keeps Pester discovery stable when `Get-DscResource`
 returns nothing for the built module, skips the composite-resource checks when
 the `DSCResources` folder is absent, and validates the generated set against
 the composite resource names declared in `source/DSCResources.yml`.
- Updated the test configuration data in `tests/Unit/DSCResources/Assets/Config` to the schemas
 shipped with Microsoft365DSC 1.26.729.2:
 - Removed the properties `AvailableToOtherTenants` (`AADApplication`, replaced by `SignInAudience`),
   `SupportsScopeTags` (Intune device configuration policies), `UserVoiceForFeedbackEnabled`
   (`SPOTenantSettings`), `EnableShiftPresence` (`TeamsShiftsPolicy`), `OptimizeDeviceDialing`
   (`TeamsTenantDialPlan`) and `AllowPublicUsers` (`TeamsFederationConfiguration`).
 - Renamed `ElegibilityAssignmentReq*` to `EligibilityAssignmentReq*` (`AADRoleSetting`).
 - Moved `RequireAcceptingAccountMatchInvitedAccount` from `SPOSharingSettings` to `SPOTenantSettings`.
 - Replaced `LocalUserGroupCollection` with `AccessGroup`
   (`IntuneAccountProtectionLocalUserGroupMembershipPolicy`).
 - `MaximumRecordingLength` (`TeamsOnlineVoicemailPolicy`) is now a number of seconds instead of a timespan.
 - `ContentContainsSensitiveInformation` (`SCDLPComplianceRule`) is now an array.
 - Converted `AADAuthenticationMethodPolicy` and the `Teams*Configuration` resources from array to
   single-instance configuration data, as they now expose `IsSingleInstance`.

### Fixed

- The `test` build workflow no longer runs `build` first. `build` starts with
 `TestPowerShell7`, so the `Windows (Windows PowerShell)` pipeline job failed
 immediately with `The build script requires PowerShell 7+ to work.` and never
 produced `output/MOF`. The test jobs consume the module built by the `Build`
 stage, and `./build.ps1` without `-Tasks` still runs `build` then `test`.
- The composite resource code generator no longer emits embedded CIM instance class names as parameter
 types. Properties like `AADAuthenticationMethodPolicy/RegistrationEnforcement` are now typed as
 `hashtable` (or `hashtable[]`), so the generated composite resource can be loaded and discovered again.

FileList

Version History

Version Downloads Last updated
0.8.0-previe... (current version) 10 8/30/2026
0.7.0 46 8/7/2026
0.7.0-previe... 43 8/4/2026
0.6.1 5 8/4/2026
0.6.1-previe... 6,907 5/22/2025
0.6.0 116 5/22/2025
0.6.0-previe... 5 5/22/2025
0.6.0-previe... 6 2/10/2025
0.5.0 188 10/31/2024
0.5.0-previe... 5 10/31/2024
0.5.0-previe... 4 10/31/2024
0.5.0-previe... 6 10/31/2024
0.5.0-previe... 4 10/30/2024
0.5.0-previe... 5 10/30/2024
0.5.0-previe... 5 10/22/2024
0.4.1-previe... 4 9/13/2024
0.4.0 252 9/11/2024
0.4.0-previe... 5 9/11/2024
0.3.3-previe... 6 6/7/2024
0.3.2 303 6/4/2024
0.3.2-previe... 6 6/4/2024
0.3.2-previe... 6 6/4/2024
0.3.2-previe... 6 6/4/2024
0.3.1 12 5/24/2024
0.3.1-previe... 8 5/23/2024
0.3.1-previe... 7 5/22/2024
0.3.1-previe... 6 5/22/2024
0.3.0 33 2/25/2024
0.3.0-previe... 8 2/25/2024
0.3.0-previe... 9 2/25/2024
0.2.4-previe... 19 9/6/2023
0.2.3 1,145 9/5/2023
0.2.3-previe... 9 9/5/2023
0.2.2 41 4/19/2023
0.2.2-previe... 8 4/19/2023
0.2.2-previe... 8 4/19/2023
0.2.1 42 1/15/2023
0.2.1-previe... 12 1/15/2023
0.2.0 209 10/11/2022
0.2.0-previe... 19 10/11/2022
0.2.0-previe... 19 10/11/2022
0.1.0-previe... 76 5/7/2022
0.1.0-previe... 18 5/7/2022
Show more