fix(ca-exporter): resolve AuthenticationFlows TransferMethods and surface in Excel

Raw object dump replaced with TransferMethods extraction (falls back to
AdditionalProperties for older module versions). Field added to the
Conditions section of Excel detail sheets.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-07-27 09:53:42 +02:00
parent b10258c5b4
commit 2f0d937ca1
@@ -494,7 +494,10 @@ foreach ($policy in $conditionalAccessPolicies) {
$includeGuestsOrExternalUserTypes = $policy.Conditions?.Users?.IncludeGuestsOrExternalUsers?.guestOrExternalUserTypes $includeGuestsOrExternalUserTypes = $policy.Conditions?.Users?.IncludeGuestsOrExternalUsers?.guestOrExternalUserTypes
$includeGuestsOrExternalUserTenants = @($policy.Conditions?.Users?.IncludeGuestsOrExternalUsers?.externalTenants?.AdditionalProperties?['members']) $includeGuestsOrExternalUserTenants = @($policy.Conditions?.Users?.IncludeGuestsOrExternalUsers?.externalTenants?.AdditionalProperties?['members'])
$authenticationFlows = @($policy.Conditions?.AuthenticationFlows) $authFlowsObj = $policy.Conditions?.AuthenticationFlows
$authenticationFlows = if ($authFlowsObj) {
$authFlowsObj.TransferMethods ?? $authFlowsObj.AdditionalProperties?['transferMethods']
}
$applicationsAdditional = $null $applicationsAdditional = $null
if ($policy.Conditions?.Applications?.AdditionalProperties) { if ($policy.Conditions?.Applications?.AdditionalProperties) {
@@ -553,7 +556,7 @@ foreach ($policy in $conditionalAccessPolicies) {
ExcludeDeviceStates = (@($excludeDeviceStates) -join $separator) ExcludeDeviceStates = (@($excludeDeviceStates) -join $separator)
IncludeGuestsOrExternalUserTypes = $includeGuestsOrExternalUserTypes IncludeGuestsOrExternalUserTypes = $includeGuestsOrExternalUserTypes
IncludeGuestOrExternalUserTenants = (@($includeGuestsOrExternalUserTenants) -join $separator) IncludeGuestOrExternalUserTenants = (@($includeGuestsOrExternalUserTenants) -join $separator)
AuthenticationFlows = (@($authenticationFlows) -join $separator) AuthenticationFlows = $authenticationFlows
ApplicationsAdditional = $applicationsAdditional ApplicationsAdditional = $applicationsAdditional
ConditionsAdditional = $conditionsAdditional ConditionsAdditional = $conditionsAdditional
IncludeServicePrincipals = ($includeServicePrincipals -join $separator) IncludeServicePrincipals = ($includeServicePrincipals -join $separator)
@@ -648,7 +651,8 @@ if ($ExportExcel) {
@{ Label = 'Device filter mode'; Col = 'DeviceFilterMode' }, @{ Label = 'Device filter mode'; Col = 'DeviceFilterMode' },
@{ Label = 'Device filter rule'; Col = 'DeviceFilterRule' }, @{ Label = 'Device filter rule'; Col = 'DeviceFilterRule' },
@{ Label = 'Sign-in risk'; Col = 'SignInRiskLevels' }, @{ Label = 'Sign-in risk'; Col = 'SignInRiskLevels' },
@{ Label = 'User risk'; Col = 'UserRiskLevels' } @{ Label = 'User risk'; Col = 'UserRiskLevels' },
@{ Label = 'Authentication flows'; Col = 'AuthenticationFlows' }
)}, )},
@{ Title = 'Grant'; Fields = @( @{ Title = 'Grant'; Fields = @(
@{ Label = 'Operator'; Col = 'GrantControlsOperator' }, @{ Label = 'Operator'; Col = 'GrantControlsOperator' },