Skip to content

Commit

Permalink
Merge pull request #4519 from microsoft/Dev
Browse files Browse the repository at this point in the history
Release 1.24.403.1
  • Loading branch information
NikCharlebois committed Apr 3, 2024
2 parents e31fa63 + d1e6317 commit e14dbe2
Show file tree
Hide file tree
Showing 198 changed files with 43,654 additions and 1,074 deletions.
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/ProblemWithResource.yml
Expand Up @@ -41,8 +41,9 @@ body:
label: "Which workloads are affected"
description: The workload of the resource you are having an issue with.
options:
- "Azure Active Directory"
- "Azure Active Directory (Entra ID)"
- "Exchange Online"
- "Intune"
- "Office 365 Admin"
- "OneDrive for Business"
- "Planner"
Expand Down
47 changes: 47 additions & 0 deletions .github/workflows/Describe Resources Schemas.yml
@@ -0,0 +1,47 @@
name: Describe Resources Schemas
on: [push]

jobs:
ParseSchemas:
# The type of runner that the job will run on
runs-on: windows-latest
permissions: write-all

# Only when run from the main repo
if: github.repository == 'microsoft/Microsoft365DSC'

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- name: Install Microsoft365DSC
shell: powershell
run: |
winrm quickconfig -force
$source = "./Modules/Microsoft365DSC/"
$destination = "C:\Program Files\WindowsPowerShell\Modules"
Copy-Item -Path $source -Recurse -Destination $destination -Container -Force
Update-M365DSCDependencies
- name: Configure Environment
shell: powershell
run: |
Set-ExecutionPolicy Unrestricted -Force
Get-ChildItem "C:\Program Files\WindowsPowerShell\Modules" -Recurse | Unblock-File
Set-M365DSCTelemetryOption -Enabled $false
Set-Item -Path WSMan:\localhost\MaxEnvelopeSizekb -Value 99999
- name: Generate {Create} Integration Tests from Examples
shell: powershell
run: |
Import-Module './Modules/Microsoft365DSC/Modules/M365DSCSchemaHandler.psm1'
New-M365DSCSchemaDefinition
- name: Commit File
shell: powershell
run: |
git config --local user.email "nicharl@microsoft.com"
git config --local user.name "NikCharlebois"
git add D:/a/Microsoft365DSC/Microsoft365DSC/Modules/Microsoft365DSC/SchemaDefinition.json
git pull
git commit -m "Updated Schema Definition"
git push
$SHA = git rev-parse HEAD
echo "commitid=$SHA" >> $env:GITHUB_OUTPUT
44 changes: 41 additions & 3 deletions .github/workflows/Global - Integration - AAD.yml
Expand Up @@ -62,7 +62,9 @@ jobs:
{
throw $_
}
- name: Validating {Create} Integration Tests
shell: powershell
run: |
try
{
$Result = Test-DSCConfiguration -Detailed -Verbose -ErrorAction Stop
Expand All @@ -88,6 +90,18 @@ jobs:
{
Write-Host "All resources in the Tenant are in the Desired State"
}
try
{
# Commenting out since this is very finnicky right now and its preventing other tests from running.
# The Get-DSCConfiguration cmdlet isn't providing much value added when failing and doesn't provide
# info about what parsing issues occured.
#$Result = Get-DSCConfiguration -Verbose -ErrorAction Stop
}
catch
{
throw $_
}
- name: Generate {Update} Integration Tests from Examples
shell: powershell
run: |
Expand Down Expand Up @@ -120,7 +134,9 @@ jobs:
{
throw $_
}
- name: Validating {Update} Integration Tests
shell: powershell
run: |
try
{
$Result = Test-DSCConfiguration -Detailed -Verbose -ErrorAction Stop
Expand All @@ -146,6 +162,18 @@ jobs:
{
Write-Host "All resources in the Tenant are in the Desired State"
}
try
{
# Commenting out since this is very finnicky right now and its preventing other tests from running.
# The Get-DSCConfiguration cmdlet isn't providing much value added when failing and doesn't provide
# info about what parsing issues occured.
#$Result = Get-DSCConfiguration -Verbose -ErrorAction Stop
}
catch
{
throw $_
}
- name: Generate {Remove} Integration Tests from Examples
shell: powershell
run: |
Expand Down Expand Up @@ -178,7 +206,9 @@ jobs:
{
throw $_
}
- name: Validating {Remove} Integration Tests
shell: powershell
run: |
try
{
$Result = Test-DSCConfiguration -Detailed -Verbose -ErrorAction Stop
Expand All @@ -205,3 +235,11 @@ jobs:
Write-Host "All resources in the Tenant are in the Desired State"
}
try
{
#$Result = Get-DSCConfiguration -Verbose -ErrorAction Stop
}
catch
{
throw $_
}
97 changes: 96 additions & 1 deletion CHANGELOG.md
@@ -1,7 +1,99 @@
# Change log for Microsoft365DSC

# 1.24.403.1

* AADAdministrativeUnit
* Fix issue with deploying/creating a new AU with members and/or adding members to an existing AU
FIXES [#4404](https://github.com/microsoft/Microsoft365DSC/issues/4404)
* Updated examples to include setting Visibility and ScopedRoleMembers
* Fix issue with Set-TargetResource was failing to apply when Verbose is set
FIXES [#4497](https://github.com/microsoft/Microsoft365DSC/issues/4497)
* All resources
* Fix issue where Ensure cannot be left as default 'Present'
* AADAdministrativeUnit
* Fix issue with omitted Ensure and/or Id
FIXES [#4437](https://github.com/microsoft/Microsoft365DSC/issues/4437)
* AADConditionalAccessPolicy
* Fixed schema file
* EXOCalendarProcessing
* Fixed schema file
* EXOGroupSettings
* Fixed schema file
* EXOMailTips
* [BREAKING CHANGE] Replaced the Organization parameter with IsSingleInstance
FIXES [#4117](https://github.com/microsoft/Microsoft365DSC/issues/4117)
* EXOMessageClassification
* Fixed schema file
* EXOOMEConfiguration
* Fixed schema file
* EXOTransportRule
* [BREAKING CHANGE] Change data type of Priority from String to Int
FIXES [[#4136](https://github.com/microsoft/Microsoft365DSC/issues/4136)]
* IntuneAntivirusPolicyWindows10SettingCatalog
* Add missing properties
* IntuneAppConfigurationPolicy
* Fix comparison in Test-TargetResource
FIXES [#4451](https://github.com/microsoft/Microsoft365DSC/issues/4451)
* IntuneDeviceCompliancePolicyWindows10
* Fix group assignment by using the corrected function
Update-DeviceConfigurationPolicyAssignment from module M365DSCDRGUtil
FIXES [#4467](https://github.com/microsoft/Microsoft365DSC/issues/4467)
* IntuneDeviceEnrollmentPlatformRestriction
* Fixed an issue where nested settings would throw a conflict
FIXES [#4082](https://github.com/microsoft/Microsoft365DSC/issues/4082)
* IntuneDeviceEnrollmentStatusPageWindows10
* Added support for specifying SelectedMobileAppNames in addition to SelectedMobileAppIds,
which are different for each tenant.
FIXES [#4494](https://github.com/microsoft/Microsoft365DSC/issues/4494)
* M365DSCRuleEvaluation
* Log both matching and not matching resources and in XML format
* O365OrgSettings
* Fixed missing permissions in settings.json
* SPOAccessControlSettings
* [BREAKING CHANGE] Removed CommentsOnSitePagesDisabled parameter, because of
duplication in SPOTenantSettings
FIXES [#3576](https://github.com/microsoft/Microsoft365DSC/issues/3576)
* [BREAKING CHANGE] Moved SocialBarOnSitePagesDisabled parameter to SPOTenantSettings,
because it makes more sense there. This has nothing to do with Access Control.
* SPOTenantSettings
* [BREAKING CHANGE] Removed ConditionalAccessPolicy parameter, because of
duplication in SPOAccessControlSettings
FIXES [#3576](https://github.com/microsoft/Microsoft365DSC/issues/3576)
* Added SocialBarOnSitePagesDisabled parameter, moved from SPOAccessControlSettings.
* Added EnableAIPIntegration.
* TeamsChannelTab
* Fixed schema file
* TeamsGroupPolicyAssignment
* Skip assignments that have orphaned/deleted groups or without display name
instead of throwing an error
FIXES [#4407](https://github.com/microsoft/Microsoft365DSC/issues/4407)
* TeamsTenantDialPlan
* Fix output of property NormalizationRules as a string to the blueprint
FIXES [#4428](https://github.com/microsoft/Microsoft365DSC/issues/4428)
* Fix creation, update and deletion of resource
* TeamsUpdateManagementPolicy
* Adds support for the NewTeamsOnly value or the UseNewTeamsClient property.
FIXES [#4496](https://github.com/microsoft/Microsoft365DSC/issues/4496)
* DEPENDENCIES
* Updated DSCParser to version 2.0.0.3.
* MISC
* Initial release of Get-M365DSCEvaluationRulesForConfiguration
* M365DSCDRGUtil
Fix Update-DeviceConfigurationPolicyAssignment so that if the group cannot
be found by its Id it tries to search it by display name
FIXES [#4467](https://github.com/microsoft/Microsoft365DSC/issues/4467)
* M365DSCReport
Fix issue when asserting resources not covered by current conditions in
Get-M365DSCResourceKey by always returning all their mandatory parameters
FIXES [#4502](https://github.com/microsoft/Microsoft365DSC/issues/4502)
* Fix broken links to integration tests in README.md
* Changing logic to retrieve DSC Resources properties not to use DSC
specific cmdlets.

# 1.24.313.1

* AADAuthenticationStrengthPolicy
* Removed the Id paremeter from being checked in the Test-TargetResource.
* AADGroup
* Fixed issue when filtering groups by display name
FIXES [#4394](https://github.com/microsoft/Microsoft365DSC/issues/4394)
Expand Down Expand Up @@ -81,7 +173,7 @@
Get-TargetResource
* Fixed an issue with the parameter InterfaceTypes from firewallrules defined
as a string instead of string[]
* IntuneDeviceConfigurationPKCSCertificatePolicyWindows10
* IntuneDeviceConfigurationSCEPCertificatePolicyWindows10
* Add property RootCertificateDisplayName in order to support assigning root
certificates by display name since their Ids in a blueprint might be from a
different source tenant
Expand All @@ -102,6 +194,9 @@
* Add read permission for extracting M365 apps installation settings instead
of extracting them only with read/write permissions
FIXES [#4418](https://github.com/microsoft/Microsoft365DSC/issues/4418)
* TeamsTeam
* Add error handling for teams without displayname during export
FIXES [#4406](https://github.com/microsoft/Microsoft365DSC/issues/4406)
* TeamsVoiceRoute
* Fix policy removal and also comparison in Test-TargetResource
* DEPENDENCIES
Expand Down
Expand Up @@ -100,22 +100,6 @@ function Get-TargetResource
$nullResult.Ensure = 'Absent'
try
{
$getValue = $null

#region resource generator code
if (-Not [string]::IsNullOrEmpty($Id))
{
$getValue = Get-MgBetaDirectoryAdministrativeUnit -AdministrativeUnitId $Id -ErrorAction Stop
}

if (-not $getValue -and -Not [string]::IsNullOrEmpty($DisplayName))
{
$getValue = Get-MgBetaDirectoryAdministrativeUnit -Filter "DisplayName eq '$DisplayName'" -ErrorAction Stop
}
#endregion

$nullResult = $PSBoundParameters
$nullResult.Ensure = 'Absent'

$getValue = $null
#region resource generator code
Expand Down Expand Up @@ -565,8 +549,8 @@ function Set-TargetResource
foreach ($member in $memberSpecification)
{
Write-Verbose -Message "Adding new dynamic member {$($member.Id)}"
$url = $Global:MSCloudLoginConnectionProfile.MicrosoftGraph.ResourceUrl + "beta/$($member.Type)/$($member.Id)"
$memberBodyParam = @{
$url = $Global:MSCloudLoginConnectionProfile.MicrosoftGraph.ResourceUrl + "v1.0/$($member.Type)/$($member.Id)"
'@odata.id' = $url
}

Expand Down Expand Up @@ -663,8 +647,8 @@ function Set-TargetResource
{
Write-Verbose -Message "AdministrativeUnit {$DisplayName} Adding member {$($diff.Identity)}, type {$($diff.Type)}"

$url = $Global:MSCloudLoginConnectionProfile.MicrosoftGraph.ResourceUrl + "beta/$memberType/$($memberObject.Id)"
$memberBodyParam = @{
$url = $Global:MSCloudLoginConnectionProfile.MicrosoftGraph.ResourceUrl + "v1.0/$memberType/$($memberObject.Id)"
'@odata.id' = $url
}
New-MgBetaDirectoryAdministrativeUnitMemberByRef -AdministrativeUnitId ($currentInstance.Id) -BodyParameter $memberBodyParam | Out-Null
Expand Down Expand Up @@ -895,7 +879,7 @@ function Test-TargetResource
$CurrentValues = Get-TargetResource @PSBoundParameters
$ValuesToCheck = ([Hashtable]$PSBoundParameters).clone()

if ($CurrentValues.Ensure -ne $PSBoundParameters.Ensure)
if ($CurrentValues.Ensure -ne $Ensure)
{
Write-Verbose -Message "Test-TargetResource returned $false - Ensure not the same"
return $false
Expand Down
Expand Up @@ -112,6 +112,7 @@ function Get-TargetResource

$nullReturn = $PSBoundParameters
$nullReturn.Ensure = 'Absent'
$AADApp = $null
try
{
try
Expand Down Expand Up @@ -212,7 +213,7 @@ function Get-TargetResource
TenantId = $TenantId
ApplicationSecret = $ApplicationSecret
CertificateThumbprint = $CertificateThumbprint
Managedidentity = $ManagedIdentity.IsPresent
ManagedIdentity = $ManagedIdentity.IsPresent
}
Write-Verbose -Message "Get-TargetResource Result: `n $(Convert-M365DscHashtableToString -Hashtable $result)"
return $result
Expand Down Expand Up @@ -799,6 +800,7 @@ function Test-TargetResource
}
else
{
$driftedParams = @{}
if ($Permissions.Length -gt 0)
{
Write-Verbose -Message 'No Permissions exist for the current Azure AD App, but permissions were specified for desired state'
Expand Down
Expand Up @@ -453,7 +453,7 @@ function Test-TargetResource
$CurrentValues = Get-TargetResource @PSBoundParameters
$ValuesToCheck = ([Hashtable]$PSBoundParameters).clone()

if ($CurrentValues.Ensure -ne $PSBoundParameters.Ensure)
if ($CurrentValues.Ensure -ne $Ensure)
{
Write-Verbose -Message "Test-TargetResource returned $false"
return $false
Expand Down
Expand Up @@ -654,7 +654,7 @@ function Test-TargetResource
$CurrentValues = Get-TargetResource @PSBoundParameters
$ValuesToCheck = ([Hashtable]$PSBoundParameters).clone()

if ($CurrentValues.Ensure -ne $PSBoundParameters.Ensure)
if ($CurrentValues.Ensure -ne $Ensure)
{
Write-Verbose -Message "Test-TargetResource returned $false"
return $false
Expand Down
Expand Up @@ -392,7 +392,7 @@ function Test-TargetResource
$CurrentValues = Get-TargetResource @PSBoundParameters
$ValuesToCheck = ([Hashtable]$PSBoundParameters).clone()

if ($CurrentValues.Ensure -ne $PSBoundParameters.Ensure)
if ($CurrentValues.Ensure -ne $Ensure)
{
Write-Verbose -Message "Test-TargetResource returned $false"
return $false
Expand Down
Expand Up @@ -420,7 +420,7 @@ function Test-TargetResource
$CurrentValues = Get-TargetResource @PSBoundParameters
$ValuesToCheck = ([Hashtable]$PSBoundParameters).clone()

if ($CurrentValues.Ensure -ne $PSBoundParameters.Ensure)
if ($CurrentValues.Ensure -ne $Ensure)
{
Write-Verbose -Message "Test-TargetResource returned $false"
return $false
Expand Down
Expand Up @@ -368,7 +368,7 @@ function Test-TargetResource
$CurrentValues = Get-TargetResource @PSBoundParameters
$ValuesToCheck = ([Hashtable]$PSBoundParameters).clone()

if ($CurrentValues.Ensure -ne $PSBoundParameters.Ensure)
if ($CurrentValues.Ensure -ne $Ensure)
{
Write-Verbose -Message "Test-TargetResource returned $false"
return $false
Expand Down
Expand Up @@ -368,7 +368,7 @@ function Test-TargetResource
$CurrentValues = Get-TargetResource @PSBoundParameters
$ValuesToCheck = ([Hashtable]$PSBoundParameters).clone()

if ($CurrentValues.Ensure -ne $PSBoundParameters.Ensure)
if ($CurrentValues.Ensure -ne $Ensure)
{
Write-Verbose -Message "Test-TargetResource returned $false"
return $false
Expand Down

0 comments on commit e14dbe2

Please sign in to comment.