EntraOps
1.0.0
EntraOps classifies and reports privileged access in Microsoft Entra ID, Azure RBAC, Identity Governance, Intune, Defender and Microsoft Graph app roles against the Enterprise Access Model (EAM). It exports privileged assets as JSON, Microsoft Sentinel watchlists and BloodHound data, provides Tenant Governance snapshots and offline reports. Requires PowerShell 7.4+.
Minimum PowerShell version
7.4
Installation Options
Owners
Copyright
(c) 2024-2026 Thomas Naunheim. All rights reserved.
Package Details
Author(s)
- Thomas Naunheim
Tags
AzureAD Entra EntraID Azure Security PrivilegedAccess EnterpriseAccessModel PIM RBAC IdentityGovernance Intune Defender EntraOps
Functions
Clear-EntraOpsCache Connect-EntraOps Disconnect-EntraOps Expand-EntraOpsPrivilegedEamJsonFile Export-EntraOpsClassificationApiPermissions Export-EntraOpsClassificationAppRoles Export-EntraOpsClassificationAzureRoles Export-EntraOpsClassificationDeviceManagementRoles Export-EntraOpsClassificationDirectoryRoles Export-EntraOpsClassificationDirectoryRolesFromMsftDocs Export-EntraOpsClassificationIdentityGovernanceRoles Export-EntraOpsClassificationScopes Export-EntraOpsPrivilegedEAMBloodHound Get-EntraOpsCacheStatistics Get-EntraOpsClassificationControlPlaneObjects Get-EntraOpsClassificationDirectoryRolesMismatchFromMsftDocs Get-EntraOpsEntraObject Get-EntraOpsManagedIdentityAssignments Get-EntraOpsUpdateCandidate Get-EntraOpsUpdatePlan Get-EntraOpsPrivilegedAppRoles Get-EntraOpsPrivilegedAzureRoles Get-EntraOpsPrivilegedEAMAzure Get-EntraOpsPrivilegedDefenderRoles Get-EntraOpsPrivilegedDeviceRoles Get-EntraOpsPrivilegedEAM Get-EntraOpsPrivilegedEAMDefender Get-EntraOpsPrivilegedEAMEntraId Get-EntraOpsPrivilegedEAMIdGov Get-EntraOpsPrivilegedEAMIntune Get-EntraOpsPrivilegedEAMResourceApps Get-EntraOpsPrivilegedEAMResourceAppsFirstParty Get-EntraOpsPrivilegedEntraIdRoles Get-EntraOpsPrivilegedEntraObject Get-EntraOpsPrivilegedIdGovRoles Get-EntraOpsPrivilegedTransitiveGroupMember Get-EntraOpsTenantGovernanceSnapshot Get-EntraOpsTenantGovernanceSnapshotReport Get-EntraOpsWorkloadIdentityAttackPaths Get-EntraOpsWorkloadIdentityInfo Get-EntraOpsWorkloadIdentityRecommendations Install-EntraOpsAllRequiredModules Install-EntraOpsRequiredModule Invoke-EntraOpsAzGraphQuery Invoke-EntraOpsAzQuery Invoke-EntraOpsGraphSecurityQuery Invoke-EntraOpsMsGraphQuery Invoke-EntraOpsPrivilegedEAM Invoke-EntraOpsReportingGeneration Invoke-EntraOpsTenantGovernanceSnapshot Install-EntraOpsUpdateCandidate New-EntraOpsAccessPackageFlowData New-EntraOpsAccessPathMapData New-EntraOpsClassificationExplorerData New-EntraOpsConfigFile New-EntraOpsPrivilegedAdministrativeUnit New-EntraOpsPrivilegedConditionalAccessGroup New-EntraOpsPrivilegedEamDashboardData New-EntraOpsPrivilegedEamPrivilegeHistoryData New-EntraOpsPrivilegedUnprotectedAdministrativeUnit New-EntraOpsReportingData New-EntraOpsTenantGovernanceConfigurationAnalyzerData New-EntraOpsTierBreachAnalyzerData New-EntraOpsWorkloadIdentity Convert-EntraOpsExportToSampleData Push-EntraOpsLogsIngestionAPI Register-EntraOpsTenantGovernanceServicePrincipal Resolve-EntraOpsUpdateSource Remove-EntraOpsReportingData Save-EntraOpsPrivilegedEAMEnrichmentToWatchLists Save-EntraOpsPrivilegedEAMInsightsCustomTable Save-EntraOpsPrivilegedEAMJson Save-EntraOpsPrivilegedEAMWatchLists Save-EntraOpsTenantGovernanceSnapshotJson Save-EntraOpsWorkloadIdentityEnrichmentWatchLists Save-EntraOpsWorkloadIdentityInfo Test-EntraOpsTenantGovernancePrerequisite Test-EntraOpsGeneratedArtifacts Test-EntraOpsUpdateContract Update-EntraOps Update-EntraOpsClassificationControlPlaneScope Update-EntraOpsClassificationExplorerData Update-EntraOpsClassificationFiles Update-EntraOpsClassificationModels Update-EntraOpsPrivilegedAdministrativeUnit Update-EntraOpsPrivilegedConditionalAccessGroup Update-EntraOpsPrivilegedUnprotectedAdministrativeUnit Update-EntraOpsPrivilegedUnprotectedElmCatalog Update-EntraOpsRequiredWorkflowParameters
PSEditions
Dependencies
This module has no dependencies.
Release Notes
First stable release. Classifies and exports privileged access across Entra ID, Azure RBAC, Identity Governance, Intune, Defender and Microsoft Graph app roles against the Enterprise Access Model, including Azure ABAC constrained delegation, Tenant Governance snapshots, offline reporting apps and a browser-based configuration wizard. Full changelog: https://github.com/Cloud-Architekt/EntraOps/blob/main/CHANGELOG.md
FileList
- EntraOps.nuspec
- EntraOps.psd1
- EntraOps.psm1
- Private\Add-EntraOpsRetryStatistic.ps1
- Private\Assert-EntraOpsConditionalAccessGroupSyncSucceeded.ps1
- Private\Build-EntraOpsClassificationActionMatcher.ps1
- Private\Build-EntraOpsRoleActionsLookup.ps1
- Private\ConvertFrom-EntraOpsTenantGovernanceSnapshotErrorDetail.ps1
- Private\ConvertTo-EntraOpsCaseInsensitiveHashtable.ps1
- Private\ConvertTo-EntraOpsODataStringLiteral.ps1
- Private\ConvertTo-EntraOpsSafeFilePathSegment.ps1
- Private\ConvertTo-EntraOpsSortedObject.ps1
- Private\Find-EntraOpsAzureScopeContainmentMatch.ps1
- Private\Get-EntraOpsAadApplicationClassification.ps1
- Private\Get-EntraOpsAzContextValue.ps1
- Private\Get-EntraOpsClassifiableRoleActions.ps1
- Private\Get-EntraOpsClassificationAzureResourceScope.ps1
- Private\Get-EntraOpsIdGovScopeClassification.ps1
- Private\Get-EntraOpsPrivilegedEamAccessPackageResourceRoleScopeClassification.ps1
- Private\Get-EntraOpsPrivilegedEamDashboardObjects.ps1
- Private\Get-EntraOpsReportingTenantName.ps1
- Private\Get-EntraOpsRoleAssignmentInstanceId.ps1
- Private\Get-EntraOpsTenantGovernanceResourceDefinition.ps1
- Private\Get-EntraOpsTierSortOrder.ps1
- Private\Group-EntraOpsRequestDetailsByUriTemplate.ps1
- Private\Import-EntraOpsAzureScopeReasoning.ps1
- Private\Import-EntraOpsClassificationOverwrites.ps1
- Private\Import-EntraOpsControlPlaneReasoning.ps1
- Private\Import-EntraOpsDashboardScopeReasoning.ps1
- Private\Import-EntraOpsGlobalExclusions.ps1
- Private\Initialize-EntraOpsRestOnlyParallelToken.ps1
- Private\Invoke-EntraOpsClassificationActionOverwrite.ps1
- Private\Invoke-EntraOpsClassificationRoleOverwrite.ps1
- Private\Invoke-EntraOpsCrossTenantObjectResolution.ps1
- Private\Invoke-EntraOpsEAMClassificationAggregation.ps1
- Private\Invoke-EntraOpsParallelObjectResolution.ps1
- Private\Limit-EntraOpsFilePathSegmentLength.ps1
- Private\New-EntraOpsEAMOutputObject.ps1
- Private\Resolve-EntraOpsAlternateObjectTierLevel.ps1
- Private\Resolve-EntraOpsAzureConstrainedDelegationTier.ps1
- Private\Resolve-EntraOpsAzureScopeReasoningTier.ps1
- Private\Resolve-EntraOpsClassificationPath.ps1
- Private\Resolve-EntraOpsSharePointOnlineRoleTier.ps1
- Private\Save-EntraOpsEAMRbacSystemJson.ps1
- Private\Save-EntraOpsReportDataFile.ps1
- Private\Select-EntraOpsAzureRbacPrincipal.ps1
- Private\Select-EntraOpsUniqueGraphObject.ps1
- Private\Set-EntraOpsEAMClassificationJustification.ps1
- Private\Show-EntraOpsWarningSummary.ps1
- Private\Test-EntraOpsClassificationActionMatch.ps1
- Private\Test-EntraOpsPathWithinRoot.ps1
- Private\Test-EntraOpsRemovalSafetyThreshold.ps1
- Private\Test-EntraOpsSentinelWatchlistDeployment.ps1
- Private\Write-EntraOpsGroupedRequestDetail.ps1
- Public\Automation\Get-EntraOpsUpdateCandidate.ps1
- Public\Automation\Get-EntraOpsUpdatePlan.ps1
- Public\Automation\Install-EntraOpsUpdateCandidate.ps1
- Public\Automation\Resolve-EntraOpsUpdateSource.ps1
- Public\Automation\Test-EntraOpsUpdateContract.ps1
- Public\Configuration\New-EntraOpsConfigFile.ps1
- Public\Configuration\New-EntraOpsWorkloadIdentity.ps1
- Public\Configuration\Register-EntraOpsTenantGovernanceServicePrincipal.ps1
- Public\Configuration\Update-EntraOpsClassificationFiles.ps1
- Public\Configuration\Update-EntraOpsRequiredWorkflowParameters.ps1
- Public\Core\Clear-EntraOpsCache.ps1
- Public\Core\Connect-EntraOps.ps1
- Public\Core\Disconnect-EntraOps.ps1
- Public\Core\Get-EntraOpsCacheStatistics.ps1
- Public\Core\Get-EntraOpsEntraObject.ps1
- Public\Core\Install-EntraOpsAllRequiredModules.ps1
- Public\Core\Install-EntraOpsRequiredModule.ps1
- Public\Core\Invoke-EntraOpsAzGraphQuery.ps1
- Public\Core\Invoke-EntraOpsAzQuery.ps1
- Public\Core\Invoke-EntraOpsGraphSecurityQuery.ps1
- Public\Core\Invoke-EntraOpsMsGraphQuery.ps1
- Public\Core\Push-EntraOpsLogsIngestionAPI.ps1
- Public\Core\Update-EntraOps.ps1
- Public\PrivilegedAccess\Expand-EntraOpsPrivilegedEamJsonFile.ps1
- Public\PrivilegedAccess\Export-EntraOpsClassificationApiPermissions.ps1
- Public\PrivilegedAccess\Export-EntraOpsClassificationAppRoles.ps1
- Public\PrivilegedAccess\Export-EntraOpsClassificationAzureRoles.ps1
- Public\PrivilegedAccess\Export-EntraOpsClassificationDeviceManagementRoles.ps1
- Public\PrivilegedAccess\Export-EntraOpsClassificationDirectoryRoles.ps1
- Public\PrivilegedAccess\Export-EntraOpsClassificationDirectoryRolesFromMsftDocs.ps1
- Public\PrivilegedAccess\Export-EntraOpsClassificationIdentityGovernanceRoles.ps1
- Public\PrivilegedAccess\Export-EntraOpsClassificationScopes.ps1
- Public\PrivilegedAccess\Export-EntraOpsPrivilegedEAMBloodHound.ps1
- Public\PrivilegedAccess\Get-EntraOpsClassificationControlPlaneObjects.ps1
- Public\PrivilegedAccess\Get-EntraOpsClassificationDirectoryRolesMismatchFromMsftDocs.ps1
- Public\PrivilegedAccess\Get-EntraOpsPrivilegedAppRoles.ps1
- Public\PrivilegedAccess\Get-EntraOpsPrivilegedAzureRoles.ps1
- Public\PrivilegedAccess\Get-EntraOpsPrivilegedDefenderRoles.ps1
- Public\PrivilegedAccess\Get-EntraOpsPrivilegedDeviceRoles.ps1
- Public\PrivilegedAccess\Get-EntraOpsPrivilegedEAM.ps1
- Public\PrivilegedAccess\Get-EntraOpsPrivilegedEAMAzure.ps1
- Public\PrivilegedAccess\Get-EntraOpsPrivilegedEAMDefender.ps1
- Public\PrivilegedAccess\Get-EntraOpsPrivilegedEAMEntraId.ps1
- Public\PrivilegedAccess\Get-EntraOpsPrivilegedEAMIdGov.ps1
- Public\PrivilegedAccess\Get-EntraOpsPrivilegedEAMIntune.ps1
- Public\PrivilegedAccess\Get-EntraOpsPrivilegedEAMResourceApps.ps1
- Public\PrivilegedAccess\Get-EntraOpsPrivilegedEAMResourceAppsFirstParty.ps1
- Public\PrivilegedAccess\Get-EntraOpsPrivilegedEntraIdRoles.ps1
- Public\PrivilegedAccess\Get-EntraOpsPrivilegedEntraObject.ps1
- Public\PrivilegedAccess\Get-EntraOpsPrivilegedIdGovRoles.ps1
- Public\PrivilegedAccess\Get-EntraOpsPrivilegedTransitiveGroupMember.ps1
- Public\PrivilegedAccess\Invoke-EntraOpsPrivilegedEAM.ps1
- Public\PrivilegedAccess\New-EntraOpsPrivilegedAdministrativeUnit.ps1
- Public\PrivilegedAccess\New-EntraOpsPrivilegedConditionalAccessGroup.ps1
- Public\PrivilegedAccess\New-EntraOpsPrivilegedUnprotectedAdministrativeUnit.ps1
- Public\PrivilegedAccess\Save-EntraOpsPrivilegedEAMEnrichmentToWatchLists.ps1
- Public\PrivilegedAccess\Save-EntraOpsPrivilegedEAMInsightsCustomTable.ps1
- Public\PrivilegedAccess\Save-EntraOpsPrivilegedEAMJson.ps1
- Public\PrivilegedAccess\Save-EntraOpsPrivilegedEAMWatchLists.ps1
- Public\PrivilegedAccess\Update-EntraOpsClassificationControlPlaneScope.ps1
- Public\PrivilegedAccess\Update-EntraOpsClassificationModels.ps1
- Public\PrivilegedAccess\Update-EntraOpsPrivilegedAdministrativeUnit.ps1
- Public\PrivilegedAccess\Update-EntraOpsPrivilegedConditionalAccessGroup.ps1
- Public\PrivilegedAccess\Update-EntraOpsPrivilegedUnprotectedAdministrativeUnit.ps1
- Public\PrivilegedAccess\Update-EntraOpsPrivilegedUnprotectedElmCatalog.ps1
- Public\Reportings\Convert-EntraOpsExportToSampleData.ps1
- Public\Reportings\Invoke-EntraOpsReportingGeneration.ps1
- Public\Reportings\New-EntraOpsAccessPackageFlowData.ps1
- Public\Reportings\New-EntraOpsAccessPathMapData.ps1
- Public\Reportings\New-EntraOpsClassificationExplorerData.ps1
- Public\Reportings\New-EntraOpsPrivilegedEamDashboardData.ps1
- Public\Reportings\New-EntraOpsPrivilegedEamPrivilegeHistoryData.ps1
- Public\Reportings\New-EntraOpsReportingData.ps1
- Public\Reportings\New-EntraOpsTenantGovernanceConfigurationAnalyzerData.ps1
- Public\Reportings\New-EntraOpsTierBreachAnalyzerData.ps1
- Public\Reportings\Remove-EntraOpsReportingData.ps1
- Public\Reportings\Update-EntraOpsClassificationExplorerData.ps1
- Public\ServicePrincipals\Get-EntraOpsManagedIdentityAssignments.ps1
- Public\ServicePrincipals\Get-EntraOpsWorkloadIdentityAttackPaths.ps1
- Public\ServicePrincipals\Get-EntraOpsWorkloadIdentityInfo.ps1
- Public\ServicePrincipals\Get-EntraOpsWorkloadIdentityRecommendations.ps1
- Public\ServicePrincipals\Save-EntraOpsWorkloadIdentityEnrichmentWatchLists.ps1
- Public\ServicePrincipals\Save-EntraOpsWorkloadIdentityInfo.ps1
- Public\TenantGovernance\Get-EntraOpsTenantGovernanceSnapshot.ps1
- Public\TenantGovernance\Get-EntraOpsTenantGovernanceSnapshotReport.ps1
- Public\TenantGovernance\Invoke-EntraOpsTenantGovernanceSnapshot.ps1
- Public\TenantGovernance\Save-EntraOpsTenantGovernanceSnapshotJson.ps1
- Public\TenantGovernance\Test-EntraOpsTenantGovernancePrerequisite.ps1
- Public\Validation\Test-EntraOpsGeneratedArtifacts.ps1
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 1.0.0 (current version) | 22 | 10/13/2026 |