As I am implementing many Conditional Access Policies and scope them to specific roles, I want to know which admins will be effected, in advance. But I am too lazy to go through all roles by hand, so I wrote following script:
Connect-MsolService $RoleAssignments = @() $Roles = Get-MsolRole Foreach ($Role in $Roles){ $RoleMembers = Get-MsolRoleMember -RoleObjectID $Role.ObjectId if ($RoleMembers) { Foreach ($RoleMember in $RoleMembers) { $RoleAssignment = "" | Select RoleName,RoleObjectID,MemberDisplayName,MemberObjectID $RoleAssignment.RoleName = $Role.Name $RoleAssignment.RoleObjectID = $Role.ObjectId $RoleAssignment.MemberDisplayName = $RoleMember.DisplayName $RoleAssignment.MemberObjectID = $RoleMember.ObjectId $RoleAssignments += $RoleAssignment } } } $RoleAssignments | Out-GridView
Nothing too fancy, but re-usable. But be aware: Roles “eligable” via PIM “eligable” are not listed here.