From 2a86c8887a6602ebe10eb8006d31958cef18d92a Mon Sep 17 00:00:00 2001 From: "Jason Thompson (ID CXP)" Date: Fri, 18 Feb 2022 15:41:16 -0500 Subject: [PATCH] Output role assignments --- .../Export-AADAssessmentReportData.ps1 | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/internal/Export-AADAssessmentReportData.ps1 b/src/internal/Export-AADAssessmentReportData.ps1 index 67b4398..882d77a 100644 --- a/src/internal/Export-AADAssessmentReportData.ps1 +++ b/src/internal/Export-AADAssessmentReportData.ps1 @@ -134,26 +134,26 @@ function Export-AADAssessmentReportData { | Use-Progress -Activity 'Exporting ConsentGrantReport' -Property clientDisplayName -PassThru -WriteSummary ` | Export-Csv -Path (Join-Path $OutputDirectory "ConsentGrantReport.csv") -NoTypeInformation - # [array] $groupTransitiveMembership = Import-Csv -Path (Join-Path $OutputDirectory "groupTransitiveMembers.csv") - # Set-Content -Path (Join-Path $OutputDirectory "roleAssignments.csv") -Value 'roleDefinitionId,directoryScopeId,memberType,assignmentType,endDateTime,principalId,principalType' - # Import-Csv -Path (Join-Path $OutputDirectory "roleAssignmentsData.csv") ` - # | Use-Progress -Activity 'Exporting Role Assignments' -Property roleDefinitionId -PassThru -WriteSummary ` - # | ForEach-Object { - # $_ - # if ($_.principalType -eq "group") { - # $groupId = $_.principalId - # # prefill resulting assignment - # $resultingAssignement = $_ - # $resultingAssignement.memberType = "Group" - # $resultingAssignement.principalType = "" - # $resultingAssignement.principalId = "" - # # look for memberships - # $groupTransitiveMembership | Where-Object { $_.id -eq $groupId } | ForEach-Object { - # $resultingAssignement.principalType = $_.memberType - # $resultingAssignement.principalId = $_.memberId - # $resultingAssignement - # } - # } - # } ` - # | Export-Csv -Path (Join-Path $OutputDirectory "roleAssignments.csv") -NoTypeInformation + [array] $groupTransitiveMembership = Import-Csv -Path (Join-Path $OutputDirectory "groupTransitiveMembers.csv") + Set-Content -Path (Join-Path $OutputDirectory "roleAssignments.csv") -Value 'roleDefinitionId,directoryScopeId,memberType,assignmentType,endDateTime,principalId,principalType' + Import-Csv -Path (Join-Path $OutputDirectory "roleAssignmentsData.csv") ` + | Use-Progress -Activity 'Exporting Role Assignments' -Property roleDefinitionId -PassThru -WriteSummary ` + | ForEach-Object { + $_ + if ($_.principalType -eq "group") { + $groupId = $_.principalId + # prefill resulting assignment + $resultingAssignement = $_ + $resultingAssignement.memberType = "Group" + $resultingAssignement.principalType = "" + $resultingAssignement.principalId = "" + # look for memberships + $groupTransitiveMembership | Where-Object { $_.id -eq $groupId } | ForEach-Object { + $resultingAssignement.principalType = $_.memberType + $resultingAssignement.principalId = $_.memberId + $resultingAssignement + } + } + } ` + | Export-Csv -Path (Join-Path $OutputDirectory "roleAssignments.csv") -NoTypeInformation }