DscConfig.M365.psd1
|
@{ RootModule = 'DscConfig.M365.psm1' ModuleVersion = '0.8.0' GUID = '3ed9a67d-9e7e-4c59-86b3-4f4bfd929c31' Author = 'DSC Community' CompanyName = 'DSC Community' Copyright = 'Copyright the DSC Community contributors. All rights reserved.' Description = 'DSC composite resource for https://github.com/dsccommunity/DscWorkshop' PowerShellVersion = '5.1' FunctionsToExport = '*' CmdletsToExport = '*' VariablesToExport = '*' AliasesToExport = '*' PrivateData = @{ PSData = @{ Prerelease = 'preview0001' Tags = @('DesiredStateConfiguration', 'DSC', 'DSCResource') LicenseUri = 'https://github.com/dsccommunity/DscConfig.M365/blob/main/LICENSE' ProjectUri = 'https://github.com/dsccommunity/DscConfig.M365' IconUri = 'https://dsccommunity.org/images/DSC_Logo_300p.png' ReleaseNotes = '## [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. ' } } } |