Automated Mailbox Permission Audit Reporting

Biweekly compliance reporting on mailbox permission changes, with automatic identity resolution and historical retention for auditor requests.

The Problem

Biweekly auditing of mailbox permission changes is an enterprise compliance requirement. Producing that report manually meant searching the unified audit log by hand every cycle, and the raw audit data returns identities as GUIDs and internal identifiers rather than readable email addresses, so the output required interpretation before anyone could act on it. There was also no consistent historical archive, which made responding to auditor requests for earlier periods difficult.

What I Built

A fully automated PowerShell report that pulls mailbox permission changes from the Microsoft 365 unified audit log on a biweekly cadence, resolves raw identifiers into readable email addresses, exports to a timestamped CSV, and emails the report to the security team. Reports are retained historically so any prior period can be produced on request.

How It Works

Who Uses It

The report goes to the security team and is used primarily by the compliance, audit, and risk function, which monitors for unauthorized delegation and verifies that permission changes correspond to approved change requests.

Impact

  • Replaces a recurring manual audit log review with a fully automated biweekly report
  • Converts raw GUIDs into readable identities so the data is actionable without interpretation
  • Maintains a historical archive so any prior reporting period can be produced immediately for auditors
  • Satisfies an enterprise compliance requirement with no ongoing administrative effort

Script

View the full script →