“Microsoft 365 Guest User Audit”
Autotask PSA Datto RMM Datto Backup Microsoft 365 SmileBack HubSpot IT Glue All reports
AI-GENERATED REPORT
You searched for:

Microsoft 365 Guest User Audit

full audit of external guest accounts, their access levels, and activity status.

Built from: M365 Lighthouse
How this report was made
1
Autotask PSA
Multiple data sources combined
2
Proxuma Power BI
Pre-built MSP semantic model, 50+ measures
3
AI via MCP
Claude or ChatGPT writes DAX queries, executes them, formats output
4
This Report
KPIs, breakdowns, trends, recommendations
Ready in < 15 min

Microsoft 365 Guest User Audit

full audit of external guest accounts, their access levels, and activity status.

The data covers the full scope of Autotask PSA records relevant to this analysis, broken down by the key dimensions your team needs for day-to-day decisions and client reporting.

Who should use this: Security teams, compliance officers, and MSP owners managing risk

How often: Weekly for security posture, monthly for compliance reporting, on-demand for audits

Time saved
Security audits across multiple tenants require logging into each one separately. This report aggregates it.
Risk visibility
Delegated privilege gaps, guest user sprawl, and compliance issues surfaced in one view.
Audit readiness
Pre-formatted compliance data for client audits and regulatory requirements.
Report categorySecurity & Compliance
Data sourceAutotask PSA · Datto RMM · Datto Backup · Microsoft 365 · SmileBack · HubSpot · IT Glue
RefreshReal-time via Power BI
Generation timeUnder 15 minutes
AI requiredClaude, ChatGPT or Copilot
AudienceSecurity teams, compliance officers
Where to find this in Proxuma
Power BI › Security › Microsoft 365 Guest User Audit
What you can measure in this report
Summary Metrics
Stale Access Analysis by Tenant
Overprivileged Trend Over Time
License Risk Overview
License Detail by SKU
Tenant Health Overview
Key Findings
Strategic Recommendations
Frequently Asked Questions
Total Guests
Stale Guests
Avg per Tenant
AI-Generated Power BI Report
Microsoft 365 Guest User Audit

full audit of external guest accounts, their access levels, and activity status.

Demo Report: This report uses synthetic data to demonstrate AI-generated insights from Proxuma Power BI. The structure, DAX queries, and analysis reflect real MSP data patterns.
1.0 Summary Metrics
Total Guests
2,841
Across all tenants
Stale Guests
687
No sign-in > 90 days
Avg per Tenant
20
Guest accounts
Active Rate
75.8%
Signed in last 30 days
View DAX Query - Summary Metrics
EVALUATE
ROW(
    "Total", COUNTROWS(BI_Microsoft_GuestUsers),
    "Stale Access", CALCULATE(COUNTROWS(BI_Microsoft_GuestUsers), BI_Microsoft_GuestUsers[category] = "Stale Access"),
    "Active Guest", CALCULATE(COUNTROWS(BI_Microsoft_GuestUsers), BI_Microsoft_GuestUsers[category] = "Active Guest")
)
2.0 Stale Access Analysis by Tenant

Breakdown of guest users focusing on stale access across tenants.

Contoso Ltd
240
Fabrikam Inc
210
Woodgrove Bank
180
Tailspin Toys
150
Adventure Works
120
Litware Inc
90
TenantStale AccessActive GuestOverprivilegedStatusLast Updated
Contoso Ltd94.2%88.1%91.3%Good2 hours ago
Fabrikam Inc91.8%85.4%87.6%Good3 hours ago
Woodgrove Bank87.3%79.2%82.1%Warning1 hour ago
Tailspin Toys82.1%74.8%78.4%Warning4 hours ago
Adventure Works78.6%71.3%74.9%Critical2 hours ago
Litware Inc96.1%92.7%94.5%Good1 hour ago

Adventure Works shows the lowest stale access coverage at 78.6%, falling below the recommended 80% threshold. Combined with Tailspin Toys at 82.1%, these two tenants represent the most significant guest users gaps in the portfolio and should be prioritized for remediation.

View DAX Query - Stale Access Analysis by Tenant
EVALUATE
SUMMARIZECOLUMNS(
    BI_Microsoft_GuestUsers[tenant_name],
    "Stale Access", CALCULATE(COUNTROWS(BI_Microsoft_GuestUsers), BI_Microsoft_GuestUsers[policy_type] = "Stale Access"),
    "Active Guest", CALCULATE(COUNTROWS(BI_Microsoft_GuestUsers), BI_Microsoft_GuestUsers[policy_type] = "Active Guest")
)
ORDER BY [Stale Access] DESC
3.0 Overprivileged Trend Over Time

How overprivileged has evolved over the past 90 days.

January
82.4%
February
85.1%
March
87.3%
MonthTotal TenantsStale Access CoverageActive Guest CoverageOverprivileged Coverage
January 202613884.1%69.6%60.9%
February 202614085.7%71.4%62.8%
March 202614287.3%72.5%64.1%

Overprivileged coverage improved from 60.9% to 64.1% over three months, a positive but modest improvement. At this rate it will take another 8 months to reach the 80% target. To accelerate, consider implementing overprivileged policies as part of the standard onboarding template for new tenants.

View DAX Query - Overprivileged Trend Over Time
EVALUATE
SUMMARIZECOLUMNS(
    BI_Microsoft_GuestUsers[snapshot_month],
    "TenantCount", DISTINCTCOUNT(BI_Microsoft_GuestUsers[tenant_id]),
    "Stale AccessCoverage", DIVIDE(CALCULATE(COUNTROWS(BI_Microsoft_GuestUsers), BI_Microsoft_GuestUsers[stale_access_enabled] = TRUE()), COUNTROWS(BI_Microsoft_GuestUsers))
)
ORDER BY BI_Microsoft_GuestUsers[snapshot_month] ASC
4.0
License Risk Overview
Identifying tenants with underutilized or over-allocated licenses.
HIGH RISK
4 entities
Performance significantly below portfolio average. Immediate action required.
MODERATE RISK
7 entities
Performance below target but stable. Review within 2 weeks.
LOW RISK
12 entities
Performance above target level. Standard monitoring sufficient.
NOT ASSESSED
3 entities
Insufficient data available for risk assessment.

The risk matrix shows that most entities fall in the low-risk category, but the high-risk group demands immediate attention. The moderate-risk group shows a declining trend that could escalate without intervention.

5.0
License Detail by SKU
Granular breakdown of license allocation per SKU.
CategoryItemsPrimarySecondaryStatus
Category A23494.2%14Healthy
Category B18789.3%20Review
Category C15691.7%13Healthy
Category D9886.7%13Review
Category E6782.1%12At Risk
Category F4595.6%2Healthy

The detailed breakdown shows clear performance differences. The bottom two categories require targeted action to improve overall portfolio health.

6.0
Tenant Health Overview
Portfolio-wide license health and adoption.
92.4% health score
Portfolio Health
87.3% of 100%
Coverage
23 action items
Open Items

Overall portfolio health is strong at 92.4%, but the 87.3% coverage rate suggests that roughly 1 in 8 entities is not fully monitored. The 23 open action items represent a manageable backlog if addressed within 2 weeks.

7.0
Key Findings
!

Performance Gap Requires Attention

The gap between top and bottom performers is wider than expected. The bottom 20% scores more than 25 percentage points below the portfolio average, indicating structural issues that require targeted intervention.

!

Declining Trend in Moderate Risk Group

Entities in the moderate risk category show a declining trend over the past quarter. Without intervention, 3-4 of these entities may shift to the high-risk category within 60 days.

Top Performers Remain Consistent

The top 30% of the portfolio maintains stable performance above target, indicating current best practices are effective and can serve as a model for the rest.

8.0
Strategic Recommendations

1. Conduct a targeted review of all high-risk entities within 2 weeks. Document the root cause for each entity and create a remediation plan with clear deadlines and accountable owners.

2. Implement automated monitoring for the moderate-risk group. Set thresholds that trigger an alert when performance drops 5 percentage points below target, enabling early intervention before entities slip into high risk.

3. Schedule this report monthly as part of the QBR process. Use the trend data to verify that improvement initiatives are delivering measurable results across multiple quarters.

9.0
Frequently Asked Questions
What is Stale Access?

Stale Access is a security control in Microsoft 365 that helps protect tenant resources. It should be enabled for all users in production tenants.

How often is guest users data refreshed?

Guest users data syncs daily from the Microsoft Graph API. Changes typically appear within 24 hours.

What is a good stale access target?

Best practice is 100% coverage for stale access. At minimum, 95% coverage should be the target for all managed tenants.

How do we remediate guest users gaps?

Start with the lowest-coverage tenants and apply baseline guest users policies. Use security defaults as a starting point for tenants without conditional access.

Generate this report from your own data

Connect Proxuma Power BI to your PSA, RMM, and M365 environment, use an MCP-compatible AI to ask questions, and generate custom reports - in minutes, not days.

See more reports Get started