Groups typically control permissions and separation of duties.
Information produced by this program can help with understanding the state of permission management.
To find out title and department demographics of each Azure AD Group with the help of frequency analysis.
Analyze Azure Active Directory Groups by frequency of title and department
PS C:\> Export-AzureADGroupAssignmentFrequencies_To-HTML.ps1
Template.html
- Template for HTML layout
styles.css
- Styles to display HTML layout properly
Users
- Contains list of all users
Groups
- Contains list of all groups and their members
~_FrequenyAnalysisReports\AzureADGroupAssignmentFrequenyAnalysisReport_$Date
- Groups.html
- Users.html
- JobTitles.html
- Departments.html
- styles.css
These objects are queried at runtime and are correlated together to make #sub-objects. All information presented in #Layout or correlated and queried through #Logic is the result of a query ran on one of these #main-objects or #sub-objects.
-
#Groups
- Contains list of all groups and their members
- Contains Department Frequencies for each group
- Contains JobTitle Frequencies for each group
-
#Users
- Contains list of all users and the groups they're a member of
-
#JobTitles
- Contains frequency analysis of JobTitle assignments and relating group frequency analysis for each
- Group occuring frequency calculated to total users assigned for each JobTitle
- Contains frequency analysis of JobTitle assignments and relating group frequency analysis for each
-
#Departments
- Contains frequency analysis of Department assignments and relating group frequency analysis for each
- Group occuring frequency calculated to total users assigned for each Department
- Contains frequency analysis of Department assignments and relating group frequency analysis for each
These objects return the content to be displayed in table format.
-
#Groups
- #GroupAssignmentFrequencies
- #DuplicateGroupNameFrequencies
- #AmbiguousGroupNameAssignments
- #DepartmentFrequenciesInEachGroup**
- #JobTitleFrequenciesInEachGroup**
- #GroupsWithoutMembers
- #GroupsWithoutUsers_ButWithMembers
-
#Users
- #EnabledUserFrequencies
- #DirSyncEnabledFrequencies
- #CountryFrequencies
- #StateFrequencies
- #OfficeFrequencies
- #EnabledUsersWithoutGroupAssignments
- #DisabledUsersWithGroupAssignments
-
#JobTitles
- #JobTitleFrequencies
- #JobTitlesWithoutGroupAssignments
- #GroupAssignmentFrequenciesInEachJobTitle**
-
#Departments
- #DepartmentFrequencies
- #DepartmentsWithoutGroupAssignments
- #GroupAssignmentFrequenciesInEachDepartment**
-
#Groups
- #TotalGroups
- #TotalUniqueGroupNames
- #TotalDuplicateGroupNames
- #TotalMailEnabledGroups
- #TotalSecurityEnabledGroups
- #TotalMailAndSecurityEnabledGroups
- #TotalGroupsWithADescription
- #TotalGroupsWithoutADescription
- #TotalGroupsWithDirSyncEnabled
- #TotalGroupsWithoutDirSyncEnabled
- #TotalGroupsWithMembers
- #TotalGroupsWithoutMembers
- #TotalGroupsWithUsers
- #TotalGroupsWithoutUsers
- #TotalGroupsWithoutUsers_ButWithMembers
- #TotalGroupsWhereLastDirSyncTimeGT180Days
-
#Users
- #TotalUsers
- #TotalEnabledUsers
- #TotalDisabledUsers
- #TotalUsersWithGroupAssignments
- #TotalUsersWithoutGroupAssignments
- #TotalDisabledUsersWithGroupAssignments
- #TotalEnabledUsersWithoutGroupAssignments
- #TotalUsersWhereLastDirSyncTimeGT180DaysAndAccountEnabled
-
#JobTitles
- #TotalUniqueJobTitles
- #TotalJobTitlesWithGroupAssignments
- #TotalJobTitlesWithoutGroupAssignments
-
#Departments
- #TotalUniqueDepartments
- #TotalDepartmentsWithGroupAssignments
- #TotalDepartmentsWithoutGroupAssignments
- Title: Groups
- MainHeaderString: $FolderName
- SubTitle: Groups
- SubInfo:
- #TotalGroups
- #TotalUniqueGroupNames
- #TotalDuplicateGroupNames
- #TotalMailEnabledGroups
- #TotalSecurityEnabledGroups
- #TotalMailAndSecurityEnabledGroups
- #TotalGroupsWithADescription
- #TotalGroupsWithoutADescription
- #TotalGroupsWithDirSyncEnabled
- #TotalGroupsWithoutDirSyncEnabled
- #TotalGroupsWithMembers
- #TotalGroupsWithoutMembers
- #TotalGroupsWithUsers
- #TotalGroupsWithoutUsers
- #TotalGroupsWithoutUsers_ButWithMembers
- #TotalGroupsWhereLastDirSyncTimeGT180Days
- Info-Div_1
- SubTitle: Group Assignments Overview
- SubInfo:
- #TotalGroups
- #TotalUniqueGroupNames
- #TotalDuplicateGroupNames
- #TotalGroupsWithMembers
- #TotalGroupsWithoutMembers
- #TotalGroupsWithUsers
- #TotalGroupsWithoutUsers
- #TotalGroupsWithoutUsers_ButWithMembers
- Content:
- #GroupAssignmentFrequencies
- Title: GroupAssignmentFrequencies
- Info: #TotalGroupAssignmentFrequencies
- #DuplicateGroupNameFrequencies
- Title: DuplicateGroupNameFrequencies
- Info: #TotalDuplicateGroupNames
- #AmbiguousGroupNameAssignments
- Title: AmbiguousGroupNameAssignments
- Info: #TotalAmbiguousGroupNameAssignments
- #GroupAssignmentFrequencies
- Info-Div_2
- SubTitle: DepartmentFrequenciesInEachGroup
- SubInfo:
- #TotalUsers
- #TotalUsersWithGroupAssignments
- #TotalUsersWithoutGroupAssignments
- #TotalDisabledUsersWithGroupAssignments
- #TotalEnabledUsersWithoutGroupAssignments
- #TotalGroupsWithUsers
- #TotalUniqueDepartments
- #TotalDepartmentsWithGroupAssignments
- #TotalDepartmentsWithoutGroupAssignments
- Content:
- #DepartmentFrequenciesInEachGroup**
- Title: #of Departments in: $Group
- Info: Dynamic_FrequencyListItem
- #DepartmentFrequenciesInEachGroup**
- Info-Div_3
- SubTitle: JobTitleFrequenciesInEachGroup
- SubInfo:
- #TotalUsers
- #TotalUsersWithGroupAssignments
- #TotalUsersWithoutGroupAssignments
- #TotalDisabledUsersWithGroupAssignments
- #TotalEnabledUsersWithoutGroupAssignments
- #TotalGroupsWithUsers
- #TotalUniqueJobTitles
- #TotalJobTitlesWithGroupAssignments
- #TotalJobTitlesWithoutGroupAssignments
- Content:
- #JobTitleFrequenciesInEachGroup**
- Title: #of JobTitles in: $Group
- Info: Dynamic_FrequencyListItem
- #JobTitleFrequenciesInEachGroup**
- Info-Div_4
- SubTitle: Possible Stale Groups
- SubInfo:
- #TotalGroupsWithMembers
- #TotalGroupsWithoutMembers
- #TotalGroupsWithUsers
- #TotalGroupsWithoutUsers
- #TotalGroupsWithoutUsers_ButWithMembers
- Content:
- #GroupsWithoutMembers
- Title: GroupsWithoutMembers
- Info: #TotalGroupsWithoutMembers
- #GroupsWithoutUsers_ButWithMembers
- Title: GroupsWithoutUsers_ButWithMembers
- Info: #TotalGroupsWithoutUsers_ButWithMembers
- #GroupsWithoutMembers
- Title: Users
- MainHeaderString: $FolderName
- SubTitle: Users
- SubInfo:
- #TotalUsers
- #TotalEnabledUsers
- #TotalDisabledUsers
- #TotalUsersWithGroupAssignments
- #TotalUsersWithoutGroupAssignments
- #TotalDisabledUsersWithGroupAssignments
- #TotalEnabledUsersWithoutGroupAssignments
- #TotalUsersWhereLastDirSyncTimeGT180DaysAndAccountEnabled
- Info-Div_1
- SubTitle: General Info
- SubInfo:
- #TotalEnabledUsers
- #TotalDisabledUsers
- Content:
- #EnabledUserFrequencies
- Title: EnabledUserFrequencies
- Info: NULL
- #DirSyncEnabledFrequencies
- Title: DirSyncEnabledFrequencies
- Info: NULL
- #CountryFrequencies
- Title: CountryFrequencies
- Info: TotalCountryFrequencies
- #StateFrequencies
- Title: StateFrequencies
- Info: TotalStateFrequencies
- #OfficeFrequencies
- Title: OfficeFrequencies
- Info: TotalOfficeFrequencies
- #EnabledUserFrequencies
- Info-Div_2
- SubTitle: Possibly Needs Attention
- SubInfo:
- #TotalUsersWithGroupAssignments
- #TotalUsersWithoutGroupAssignments
- #TotalDisabledUsersWithGroupAssignments
- #TotalEnabledUsersWithoutGroupAssignments
- Content:
- #EnabledUsersWithoutGroupAssignments
- Title: EnabledUsersWithoutGroupAssignments
- Info: #TotalEnabledUsersWithoutGroupAssignments
- #DisabledUsersWithGroupAssignments
- Title: DisabledUsersWithGroupAssignments
- Info: #TotalDisabledUsersWithGroupAssignments
- #EnabledUsersWithoutGroupAssignments
- Title: JobTitles
- MainHeaderString: $FolderName
- SubTitle: JobTitles
- SubInfo:
- #TotalUsers
- #TotalEnabledUsers
- #TotalDisabledUsers
- #TotalUniqueJobTitles
- #TotalJobTitlesWithGroupAssignments
- #TotalJobTitlesWithoutGroupAssignments
- Info-Div_1
- SubTitle: JobTitles Overview
- SubInfo:
- #TotalUniqueJobTitles
- #TotalJobTitlesWithoutGroupAssignments
- Content:
- #JobTitleFrequencies
- Title: JobTitleFrequencies
- Info: #TotalUniqueJobTitles
- #JobTitlesWithoutGroupAssignments
- Title: JobTitlesWithoutGroupAssignments
- Info: #TotalJobTitlesWithoutGroupAssignments
- #JobTitleFrequencies
- Info-Div_2
- SubTitle: #GroupAssignmentFrequenciesInEachJobTitle
- SubInfo: #TotalJobTitlesWithGroupAssignments
- Content:
- #GroupAssignmentFrequenciesInEachJobTitle**
- Title: #of Groups in: $JobTitle
- Info: Dynamic_FrequencyListItem
- #GroupAssignmentFrequenciesInEachJobTitle**
- Title: Departments
- MainHeaderString: $FolderName
- SubTitle: Departments
- SubInfo:
- #TotalUsers
- #TotalEnabledUsers
- #TotalDisabledUsers
- #TotalUniqueDepartments
- #TotalDepartmentsWithGroupAssignments
- #TotalDepartmentsWithoutGroupAssignments
- Info-Div_1
- SubTitle: Departments Overview
- SubInfo:
- #TotalUniqueDepartments
- #TotalDepartmentsWithoutGroupAssignments
- Content:
- #DepartmentFrequencies
- Title: DepartmentFrequencies
- Info: #TotalUniqueDepartments
- #DepartmentsWithoutGroupAssignments
- Title: DepartmentsWithoutGroupAssignments
- Info: #TotalDepartmentsWithoutGroupAssignments
- #DepartmentFrequencies
- Info-Div_2
- SubTitle: #GroupAssignmentFrequenciesInEachDepartment
- SubInfo: #TotalDepartmentsWithGroupAssignments
- Content:
- #GroupAssignmentFrequenciesInEachDepartment**
- Title: #of Groups in: $Department
- Info: Dynamic_FrequencyListItem
- #GroupAssignmentFrequenciesInEachDepartment**
- Query #Main-Objects
- Correlate #Main-Objects into #Sub-Objects
- Query #Sub-Objects
- Query #Totals
- Display #Layout