Skip to content

Commit

Permalink
Merge branch 'Dev' into fix/auth-properties
Browse files Browse the repository at this point in the history
  • Loading branch information
NikCharlebois authored Feb 6, 2025
2 parents 5d62243 + 4ed3bab commit ceb1e8b
Show file tree
Hide file tree
Showing 35 changed files with 479 additions and 480 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,12 @@

# UNRELEASED

* AADApplication
* Refactored logic for CIM Instance evaluation in Test-TargetResource.
* AADConditionalAccessPolicy
* Changed the InsiderRiskTypes property to a string array.
* AADGroup
* Refactored logic for CIM Instance evaluation in Test-TargetResource.
* AADServicePrincipal
* Fixes comparison of assigned roles for null values.
FIXES [#5717](https://github.com/microsoft/Microsoft365DSC/issues/5717)
Expand All @@ -12,6 +16,8 @@
* EXOSmtpDaneInbound
* Updated authentication properties to align with MOF definition.
FIXES [#5709](https://github.com/microsoft/Microsoft365DSC/issues/5709)
* SCRoleGroupMember
* Error handling if the Members parameter is omitted.
* MISC
* Changed the CIMInstance logic of various resources to us common logic.
* Added support for specifying a proxy in Update-M365DSCModule.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -358,32 +358,45 @@ function Test-TargetResource

$CurrentValues = Get-TargetResource @PSBoundParameters
$ValuesToCheck = ([Hashtable]$PSBoundParameters).Clone()
$testTargetResource = $true

Write-Verbose -Message "Current Values: $(Convert-M365DscHashtableToString -Hashtable $CurrentValues)"
Write-Verbose -Message "Target Values: $(Convert-M365DscHashtableToString -Hashtable $ValuesToCheck)"
$testResult = $true
foreach ($reviewer in $Reviewers)
#Compare Cim instances
foreach ($key in $PSBoundParameters.Keys)
{
$currentEquivalent = $CurrentValues.Reviewers | Where-Object -FilterScript { $_.ReviewerId -eq $reviewer.ReviewerId -and $_.ReviewerType -eq $reviewer.ReviewerType }
if ($null -eq $currentEquivalent)
{
$testResult = $false
Write-Verbose -Message "Couldn't find current reviewer {$($reviewer.ReviewerId)}"
}
$source = $PSBoundParameters.$key
$target = $CurrentValues.$key
if ($null -ne $source -and $source.GetType().Name -like '*CimInstance*')
{
$testResult = Compare-M365DSCComplexObject `
-Source ($source) `
-Target ($target)

if (-not $testResult)
{
Write-Verbose "TestResult returned False for $source"
$testTargetResource = $false
}
else
{
$ValuesToCheck.Remove($key) | Out-Null
}
}
}

if ($testResult)
$testResult = Test-M365DSCParameterState -CurrentValues $CurrentValues `
-Source $($MyInvocation.MyCommand.Source) `
-DesiredValues $PSBoundParameters `
-ValuesToCheck $ValuesToCheck.Keys

if (-not $TestResult)
{
$ValuesToCheck.Remove('Reviewers') | Out-Null
$testResult = Test-M365DSCParameterState -CurrentValues $CurrentValues `
-Source $($MyInvocation.MyCommand.Source) `
-DesiredValues $PSBoundParameters `
-ValuesToCheck $ValuesToCheck.Keys
$testTargetResource = $false
}
Write-Verbose -Message "Test-TargetResource returned $testTargetResource"

Write-Verbose -Message "Test-TargetResource returned $testResult"

return $testResult
return $testTargetResource
}

function Export-TargetResource
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -455,11 +455,15 @@ function Get-TargetResource

# singleSignOnSettings
$singleSignOnValues = @{
kerberosSignOnSettings = @{
singleSignOnMode = $oppInfo.singleSignOnSettings.singleSignOnMode
}
if ($oppInfo.singleSignOnMode.kerberosSignOnSettings)
{
$kerberosSignOnSettings = @{
kerberosServicePrincipalName = $oppInfo.singleSignOnSettings.kerberosSignOnSettings.kerberosServicePrincipalName
kerberosSignOnMappingAttributeType = $oppInfo.singleSignOnSettings.kerberosSignOnSettings.kerberosSignOnMappingAttributeType
}
singleSignOnMode = $oppInfo.singleSignOnSettings.singleSignOnMode
$singleSignOnValues.Add('kerberosSignOnSettings', $kerberosSignOnSettings)
}
$onPremisesPublishingValue.Add('singleSignOnSettings', $singleSignOnValues)
}
Expand Down Expand Up @@ -1415,58 +1419,15 @@ function Test-TargetResource
Write-Verbose -Message 'Testing configuration of AzureAD Application'

$CurrentValues = Get-TargetResource @PSBoundParameters

if ($CurrentValues.Permissions.Length -gt 0 -and $null -ne $CurrentValues.Permissions.Name -and `
$null -ne $Permissions)
{
$differenceObject = $Permissions.Name
if ($null -eq $differenceObject)
{
$differenceObject = @()
}
$permissionsDiff = Compare-Object -ReferenceObject ($CurrentValues.Permissions.Name) -DifferenceObject $differenceObject
$driftedParams = @{}
if ($null -ne $permissionsDiff)
{
Write-Verbose -Message "Permissions differ: $($permissionsDiff | Out-String)"
Write-Verbose -Message "Test-TargetResource returned $false"
$EventValue = "<CurrentValue>$($CurrentValues.Permissions.Name)</CurrentValue>"
$EventValue += "<DesiredValue>$($Permissions.Name)</DesiredValue>"
$driftedParams.Add('Permissions', $EventValue)
}
else
{
Write-Verbose -Message 'Permissions for Azure AD Application are the same'
}
}
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'
Write-Verbose -Message "Test-TargetResource returned $false"

$EventValue = "<CurrentValue>`$null</CurrentValue>"
$EventValue += "<DesiredValue>$($Permissions.Name)</DesiredValue>"
$driftedParams.Add('Permissions', $EventValue)
}
else
{
Write-Verbose -Message 'No Permissions exist for the current Azure AD App and no permissions were specified'
}
}

$ValuesToCheck = ([Hashtable]$PSBoundParameters).clone()

$testTargetResource = $true

#Compare Cim instances
foreach ($key in $PSBoundParameters.Keys)
{
$source = $PSBoundParameters.$key
$target = $CurrentValues.$key
if ($null -ne $source -and $source.GetType().Name -like '*CimInstance*' -and $source -notlike '*Permission*')
if ($null -ne $source -and $source.GetType().Name -like '*CimInstance*')
{
$testResult = Compare-M365DSCComplexObject `
-Source ($source) `
Expand All @@ -1489,7 +1450,6 @@ function Test-TargetResource

$ValuesToCheck.Remove('ObjectId') | Out-Null
$ValuesToCheck.Remove('AppId') | Out-Null
$ValuesToCheck.Remove('Permissions') | Out-Null

$TestResult = Test-M365DSCParameterState -CurrentValues $CurrentValues `
-Source $($MyInvocation.MyCommand.Source) `
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -508,6 +508,7 @@ function Test-TargetResource
$CurrentValues = Get-TargetResource @PSBoundParameters
$ValuesToCheck = ([Hashtable]$PSBoundParameters).clone()
$testResult = $true
$testTargetResource = $true

#Compare Cim instances
foreach ($key in $PSBoundParameters.Keys)
Expand All @@ -518,7 +519,7 @@ function Test-TargetResource
{
$source = Get-M365DSCDRGComplexTypeToHashtable -ComplexObject $source

$testResult = Compare-M365DSCComplexObject `
$testTargetResource = Compare-M365DSCComplexObject `
-Source ($source) `
-Target ($target)

Expand All @@ -537,17 +538,17 @@ function Test-TargetResource
Write-Verbose -Message "Current Values: $(Convert-M365DscHashtableToString -Hashtable $CurrentValues)"
Write-Verbose -Message "Target Values: $(Convert-M365DscHashtableToString -Hashtable $ValuesToCheck)"

if ($testResult)
$testResult = Test-M365DSCParameterState -CurrentValues $CurrentValues `
-Source $($MyInvocation.MyCommand.Source) `
-DesiredValues $PSBoundParameters `
-ValuesToCheck $ValuesToCheck.Keys

if (-not $TestResult)
{
$testResult = Test-M365DSCParameterState -CurrentValues $CurrentValues `
-Source $($MyInvocation.MyCommand.Source) `
-DesiredValues $PSBoundParameters `
-ValuesToCheck $ValuesToCheck.Keys
$testTargetResource = $false
}

Write-Verbose -Message "Test-TargetResource returned $testResult"

return $testResult
Write-Verbose -Message "Test-TargetResource returned $testTargetResource"
return $testTargetResource
}

function Export-TargetResource
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -789,6 +789,7 @@ function Test-TargetResource
$CurrentValues = Get-TargetResource @PSBoundParameters
$ValuesToCheck = ([Hashtable]$PSBoundParameters).clone()
$testResult = $true
$testTargetResource = $true

#Compare Cim instances
foreach ($key in $PSBoundParameters.Keys)
Expand All @@ -805,7 +806,7 @@ function Test-TargetResource

if (-Not $testResult)
{
$testResult = $false
$testTargetResource = $false
break
}

Expand All @@ -818,17 +819,18 @@ function Test-TargetResource
Write-Verbose -Message "Current Values: $(Convert-M365DscHashtableToString -Hashtable $CurrentValues)"
Write-Verbose -Message "Target Values: $(Convert-M365DscHashtableToString -Hashtable $ValuesToCheck)"

if ($testResult)
$testResult = Test-M365DSCParameterState -CurrentValues $CurrentValues `
-Source $($MyInvocation.MyCommand.Source) `
-DesiredValues $PSBoundParameters `
-ValuesToCheck $ValuesToCheck.Keys

if (-not $TestResult)
{
$testResult = Test-M365DSCParameterState -CurrentValues $CurrentValues `
-Source $($MyInvocation.MyCommand.Source) `
-DesiredValues $PSBoundParameters `
-ValuesToCheck $ValuesToCheck.Keys
$testTargetResource = $false
}
Write-Verbose -Message "Test-TargetResource returned $testTargetResource"

Write-Verbose -Message "Test-TargetResource returned $testResult"

return $testResult
return $testTargetResource
}

function Export-TargetResource
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -453,6 +453,7 @@ function Test-TargetResource
$CurrentValues = Get-TargetResource @PSBoundParameters
$ValuesToCheck = ([Hashtable]$PSBoundParameters).clone()
$testResult = $true
$testTargetResource = $true

#Compare Cim instances
foreach ($key in $PSBoundParameters.Keys)
Expand All @@ -469,7 +470,7 @@ function Test-TargetResource

if (-Not $testResult)
{
$testResult = $false
$testTargetResource = $false
break
}

Expand All @@ -482,17 +483,18 @@ function Test-TargetResource
Write-Verbose -Message "Current Values: $(Convert-M365DscHashtableToString -Hashtable $CurrentValues)"
Write-Verbose -Message "Target Values: $(Convert-M365DscHashtableToString -Hashtable $ValuesToCheck)"

if ($testResult)
$testResult = Test-M365DSCParameterState -CurrentValues $CurrentValues `
-Source $($MyInvocation.MyCommand.Source) `
-DesiredValues $PSBoundParameters `
-ValuesToCheck $ValuesToCheck.Keys

if (-not $TestResult)
{
$testResult = Test-M365DSCParameterState -CurrentValues $CurrentValues `
-Source $($MyInvocation.MyCommand.Source) `
-DesiredValues $PSBoundParameters `
-ValuesToCheck $ValuesToCheck.Keys
$testTargetResource = $false
}
Write-Verbose -Message "Test-TargetResource returned $testTargetResource"

Write-Verbose -Message "Test-TargetResource returned $testResult"

return $testResult
return $testTargetResource
}

function Export-TargetResource
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -439,6 +439,7 @@ function Test-TargetResource
$CurrentValues = Get-TargetResource @PSBoundParameters
$ValuesToCheck = ([Hashtable]$PSBoundParameters).clone()
$testResult = $true
$testTargetResource = $true

#Compare Cim instances
foreach ($key in $PSBoundParameters.Keys)
Expand All @@ -455,7 +456,7 @@ function Test-TargetResource

if (-Not $testResult)
{
$testResult = $false
$testTargetResource = $false
break
}

Expand All @@ -466,17 +467,18 @@ function Test-TargetResource
Write-Verbose -Message "Current Values: $(Convert-M365DscHashtableToString -Hashtable $CurrentValues)"
Write-Verbose -Message "Target Values: $(Convert-M365DscHashtableToString -Hashtable $ValuesToCheck)"

if ($testResult)
$testResult = Test-M365DSCParameterState -CurrentValues $CurrentValues `
-Source $($MyInvocation.MyCommand.Source) `
-DesiredValues $PSBoundParameters `
-ValuesToCheck $ValuesToCheck.Keys

if (-not $TestResult)
{
$testResult = Test-M365DSCParameterState -CurrentValues $CurrentValues `
-Source $($MyInvocation.MyCommand.Source) `
-DesiredValues $PSBoundParameters `
-ValuesToCheck $ValuesToCheck.Keys
$testTargetResource = $false
}
Write-Verbose -Message "Test-TargetResource returned $testTargetResource"

Write-Verbose -Message "Test-TargetResource returned $testResult"

return $testResult
return $testTargetResource
}

function Export-TargetResource
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -483,6 +483,7 @@ function Test-TargetResource
$testResult = $true

#Compare Cim instances
$testTargetResource = $true
foreach ($key in $PSBoundParameters.Keys)
{
$source = $PSBoundParameters.$key
Expand All @@ -497,7 +498,7 @@ function Test-TargetResource

if (-Not $testResult)
{
$testResult = $false
$testTargetResource = $false
break
}

Expand All @@ -510,17 +511,18 @@ function Test-TargetResource
Write-Verbose -Message "Current Values: $(Convert-M365DscHashtableToString -Hashtable $CurrentValues)"
Write-Verbose -Message "Target Values: $(Convert-M365DscHashtableToString -Hashtable $ValuesToCheck)"

if ($testResult)
$testResult = Test-M365DSCParameterState -CurrentValues $CurrentValues `
-Source $($MyInvocation.MyCommand.Source) `
-DesiredValues $PSBoundParameters `
-ValuesToCheck $ValuesToCheck.Keys

if (-not $TestResult)
{
$testResult = Test-M365DSCParameterState -CurrentValues $CurrentValues `
-Source $($MyInvocation.MyCommand.Source) `
-DesiredValues $PSBoundParameters `
-ValuesToCheck $ValuesToCheck.Keys
$testTargetResource = $false
}
Write-Verbose -Message "Test-TargetResource returned $testTargetResource"

Write-Verbose -Message "Test-TargetResource returned $testResult"

return $testResult
return $testTargetResource
}

function Export-TargetResource
Expand Down
Loading

0 comments on commit ceb1e8b

Please sign in to comment.