diff --git a/CHANGELOG.md b/CHANGELOG.md index ef0b025c9a..1c6cd4a666 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,9 @@ # Change log for Microsoft365DSC -# UNRELEASED -* AADGroupEligibilitySchedule - * FIXES [#5741] Missing -All variable which prevented enumeration of more than 100 Groups +# 1.25.212.2 + +* MISC + * Fixing connection errors in Power Platforms resources. # 1.25.212.1 @@ -14,6 +15,8 @@ * AADCrossTenantAccessPolicyConfigurationPartner * Fixes an issue with CIM class export. FIXES [#5711](https://github.com/microsoft/Microsoft365DSC/issues/5711) +* AADGroupEligibilitySchedule + * FIXES [#5741] Missing -All variable which prevented enumeration of more than 100 Groups * EXORetentionPolicyTag * Initial release. * EXOSmtpDaneInbound diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_PPAdminDLPPolicy/MSFT_PPAdminDLPPolicy.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_PPAdminDLPPolicy/MSFT_PPAdminDLPPolicy.psm1 index 144faea012..25174d3048 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_PPAdminDLPPolicy/MSFT_PPAdminDLPPolicy.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_PPAdminDLPPolicy/MSFT_PPAdminDLPPolicy.psm1 @@ -88,7 +88,7 @@ function Get-TargetResource $results = @{ DisplayName = $instance.properties.displayName - PolicyName = $instance.PolicyName + PolicyName = $instance.name Environments = [array]$instance.properties.definition.constraints.environmentFilter1.parameters.environments.name FilterType = $instance.properties.definition.constraints.environmentFilter1.parameters.filterType Ensure = 'Present' diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_PPDLPPolicyConnectorConfigurations/MSFT_PPDLPPolicyConnectorConfigurations.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_PPDLPPolicyConnectorConfigurations/MSFT_PPDLPPolicyConnectorConfigurations.psm1 index 8e70366922..fc52bc2320 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_PPDLPPolicyConnectorConfigurations/MSFT_PPDLPPolicyConnectorConfigurations.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_PPDLPPolicyConnectorConfigurations/MSFT_PPDLPPolicyConnectorConfigurations.psm1 @@ -46,7 +46,7 @@ function Get-TargetResource $AccessTokens ) - New-M365DSCConnection -Workload 'PowerPlatforms' ` + New-M365DSCConnection -Workload 'PowerPlatformREST' ` -InboundParameters $PSBoundParameters | Out-Null #Ensure the proper dependencies are installed in the current environment. @@ -321,6 +321,7 @@ function Test-TargetResource Write-Verbose -Message "Target Values: $(Convert-M365DscHashtableToString -Hashtable $ValuesToCheck)" #Compare Cim instances + $testResult = $true foreach ($key in $PSBoundParameters.Keys) { $source = $PSBoundParameters.$key diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_PPPowerAppPolicyUrlPatterns/MSFT_PPPowerAppPolicyUrlPatterns.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_PPPowerAppPolicyUrlPatterns/MSFT_PPPowerAppPolicyUrlPatterns.psm1 index 15f1e1ffcc..b2c5f78656 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_PPPowerAppPolicyUrlPatterns/MSFT_PPPowerAppPolicyUrlPatterns.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_PPPowerAppPolicyUrlPatterns/MSFT_PPPowerAppPolicyUrlPatterns.psm1 @@ -300,6 +300,7 @@ function Test-TargetResource Write-Verbose -Message "Current Values: $(Convert-M365DscHashtableToString -Hashtable $CurrentValues)" Write-Verbose -Message "Target Values: $(Convert-M365DscHashtableToString -Hashtable $ValuesToCheck)" + $testResult = $true #Compare Cim instances Write-Verbose -Message "Comparing CIMInstances" @@ -399,10 +400,9 @@ function Export-TargetResource "/providers/Microsoft.BusinessAppPlatform/scopes/admin/apiPolicies?api-version=2016-11-01" [array]$policies = Invoke-M365DSCPowerPlatformRESTWebRequest -Uri $uri -Method 'GET' - - + $policies = $policies.value | Where-Object -FilterScript {$_.type -eq 'Microsoft.BusinessAppPlatform/scopes/apiPolicies'} $dscContent = '' - if ($policies.value.Length -eq 0) + if ($policies.Length -eq 0) { Write-Host $Global:M365DSCEmojiGreenCheckMark } @@ -411,13 +411,13 @@ function Export-TargetResource Write-Host "`r`n" -NoNewline } $i = 1 - foreach ($policy in $policies.value) + foreach ($policy in $policies) { if ($null -ne $Global:M365DSCExportResourceInstancesCount) { $Global:M365DSCExportResourceInstancesCount++ } - Write-Host " |---[$i/$($policies.value.Count)] $($policy.properties.DisplayName)" -NoNewline + Write-Host " |---[$i/$($policies.Count)] $($policy.properties.DisplayName)" -NoNewline $params = @{ PPTenantId = $tenantInfo PolicyName = $policy.properties.DisplayName diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_PPTenantIsolationSettings/MSFT_PPTenantIsolationSettings.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_PPTenantIsolationSettings/MSFT_PPTenantIsolationSettings.psm1 index 33faa5e31a..c01fe87832 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_PPTenantIsolationSettings/MSFT_PPTenantIsolationSettings.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_PPTenantIsolationSettings/MSFT_PPTenantIsolationSettings.psm1 @@ -521,7 +521,7 @@ function Test-TargetResource $driftedRules.($existingRule.TenantName) = @{ CurrentValue = "Direction: $($existingRule.Direction)" - DesiredValue = 'Should not exist' + DesiredValue = "Direction: $($rule.Direction)" } $result = $false } diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_PPTenantSettings/MSFT_PPTenantSettings.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_PPTenantSettings/MSFT_PPTenantSettings.psm1 index 11bd1daac8..a2dec5d1f5 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_PPTenantSettings/MSFT_PPTenantSettings.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_PPTenantSettings/MSFT_PPTenantSettings.psm1 @@ -602,7 +602,7 @@ function Set-TargetResource Add-M365DSCTelemetryEvent -Data $data #endregion - $ConnectionMode = New-M365DSCConnection -Workload 'PowerPlatforms' ` + $ConnectionMode = New-M365DSCConnection -Workload 'PowerPlatformREST' ` -InboundParameters $PSBoundParameters $SetParameters = $PSBoundParameters @@ -1007,15 +1007,6 @@ function Get-M365DSCPowerPlatformTenantSettings catalogSettings = @{ powerCatalogAudienceSetting = $Parameters.PowerCatalogAudienceSetting } - governance = @{ - disableAdminDigest = $Parameters.DisableAdminDigest - disableDeveloperEnvironmentCreationByNonAdminUsers = $Parameters.DisableDeveloperEnvironmentCreationByNonAdminUsers - enableDefaultEnvironmentRouting = $Parameters.EnableDefaultEnvironmentRouting - policy = @{ - enableDesktopFlowDataPolicyManagement = [Boolean]::Parse($Parameters.EnableDesktopFlowDataPolicyManagement) - } - environmentRoutingAllMakers = $Parameters.EnvironmentRoutingAllMakers - } environments = @{ disablePreferredDataLocationForTeamsEnvironment = $Parameters.DisablePreferredDataLocationForTeamsEnvironment } @@ -1075,6 +1066,29 @@ function Get-M365DSCPowerPlatformTenantSettings } } + $governance = @{ + disableAdminDigest = $Parameters.DisableAdminDigest + disableDeveloperEnvironmentCreationByNonAdminUsers = $Parameters.DisableDeveloperEnvironmentCreationByNonAdminUsers + enableDefaultEnvironmentRouting = $Parameters.EnableDefaultEnvironmentRouting + environmentRoutingAllMakers = $Parameters.EnvironmentRoutingAllMakers + } + + if ($null -ne $EnableDesktopFlowDataPolicyManagement) + { + try + { + $policy = @{ + enableDesktopFlowDataPolicyManagement = [Boolean]::Parse($Parameters.EnableDesktopFlowDataPolicyManagement) + } + $governance.Add('policy', $policy) + } + catch + { + Write-Verbose -Message $_ + } + } + $result.powerplatform.Add('governance', $governance) + return $result } @@ -1087,7 +1101,7 @@ function Set-M365DSCPPTenantSettings $Body ) - $url = "$((Get-MSCloudLoginConnectionProfile -Workload 'PowerPlatforms').ResourceUrl)/providers/Microsoft.BusinessAppPlatform/scopes/admin/updateTenantSettings?api-version=2016-11-01" + $url = "$((Get-MSCloudLoginConnectionProfile -Workload 'PowerPlatformREST').ResourceUrl)/providers/Microsoft.BusinessAppPlatform/scopes/admin/updateTenantSettings?api-version=2016-11-01" } @@ -1100,9 +1114,9 @@ function Get-M365DSCPPTenantSettings $Body ) - $url = "$((Get-MSCloudLoginConnectionProfile -Workload 'PowerPlatforms').ResourceUrl)/providers/Microsoft.BusinessAppPlatform/scopes/admin/getTenantSettings?api-version=2016-11-01" + $url = "$((Get-MSCloudLoginConnectionProfile -Workload 'PowerPlatformREST').ResourceUrl)/providers/Microsoft.BusinessAppPlatform/scopes/admin/getTenantSettings?api-version=2016-11-01" $headers = @{ - Authorization = (Get-MSCloudLoginConnectionProfile -Workload 'PowerPlatforms').AccessToken + Authorization = (Get-MSCloudLoginConnectionProfile -Workload 'PowerPlatformREST').AccessToken } Invoke-WebRequest -Uri $url -Headers $headers -ContentType "application/json" } diff --git a/Modules/Microsoft365DSC/Microsoft365DSC.psd1 b/Modules/Microsoft365DSC/Microsoft365DSC.psd1 index 4b22c9ecf0..f011c60ccf 100644 --- a/Modules/Microsoft365DSC/Microsoft365DSC.psd1 +++ b/Modules/Microsoft365DSC/Microsoft365DSC.psd1 @@ -3,7 +3,7 @@ # # Generated by: Microsoft Corporation # -# Generated on: 2025-02-12 +# Generated on: 2025-02-13 @{ @@ -11,7 +11,7 @@ # RootModule = '' # Version number of this module. - ModuleVersion = '1.25.212.1' + ModuleVersion = '1.25.212.2' # Supported PSEditions # CompatiblePSEditions = @() @@ -149,26 +149,8 @@ IconUri = 'https://github.com/microsoft/Microsoft365DSC/blob/Dev/Modules/Microsoft365DSC/Dependencies/Images/Logo.png?raw=true' # ReleaseNotes of this module - ReleaseNotes = '* AADApplication - * Changing the AuthenticationBehaviors parameters to string to allow - for null values. -* AADCrossTenantAccessPolicyConfigurationDefault - * Fixes an issue with CIM class export. -* AADCrossTenantAccessPolicyConfigurationPartner - * Fixes an issue with CIM class export. - FIXES [#5711](https://github.com/microsoft/Microsoft365DSC/issues/5711) -* EXORetentionPolicyTag - * Initial release. -* EXOSmtpDaneInbound - * Updated authentication properties to align with MOF definition. - FIXES [#5709](https://github.com/microsoft/Microsoft365DSC/issues/5709) -* MISC - * PowerPlatform resource revamp to use direct REST API calls. - * Simplify export behavior for all resources and complex objects. -* DEPENDENCIES - * Removed dependency on Microsoft.PowerApps.Administration.PowerShell. - * Updated MSCloudLoginAssistant to version 1.1.37. - * Updated ReverseDSC to version 2.0.0.25.' + ReleaseNotes = '* MISC + * Fixing connection errors in Power Platforms resources.' # Flag to indicate whether the module requires explicit user acceptance for install/update # RequireLicenseAcceptance = $false diff --git a/README.md b/README.md index 4ca478af56..5bcbfee519 100644 --- a/README.md +++ b/README.md @@ -13,12 +13,6 @@ additional resources, please navigate to the official web site at official YouTube channel [Microsoft365DSC](https://www.youtube.com/channel/UCveScabVT6pxzqYgGRu17iw). -## Roadmap & Backlog - -We are using Azure DevOps for project management. You can access our backlog and roadmap by clicking on the status badge below: - -[![Board Status](https://dev.azure.com/Microsoft365DSC/c730cd2b-2b5f-4af2-8bce-2b7b3ee6f69b/e58164ef-f760-40e9-bd67-893cf4938bef/_apis/work/boardbadge/84871665-8a0f-46de-8a93-c214ea36b371?columnOptions=1)](https://dev.azure.com/Microsoft365DSC/Backlog/_workitems/) - ## Branches ### master diff --git a/Tests/Unit/Microsoft365DSC/Microsoft365DSC.PPPowerAppPolicyUrlPatterns.Tests.ps1 b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.PPPowerAppPolicyUrlPatterns.Tests.ps1 index 5b8c67c15d..ae2d040ab1 100644 --- a/Tests/Unit/Microsoft365DSC/Microsoft365DSC.PPPowerAppPolicyUrlPatterns.Tests.ps1 +++ b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.PPPowerAppPolicyUrlPatterns.Tests.ps1 @@ -327,6 +327,7 @@ Describe -Name $Global:DscHelper.DescribeHeader -Fixture { return @{ value = @( @{ + type = 'Microsoft.BusinessAppPlatform/scopes/apiPolicies' PolicyName = "MyPolicy" properties = @{ displayName = "DSCPolicy"