Guides · Audit

Shared Mailbox Permission Audit: Find Stale Full Access, Send As and Disabled Delegates

A shared mailbox permission list only tells you what exists today. Auditing it tells you which of those entries should still be there — and a one-time CSV export can't answer that question by itself.

Updated Aug 2026 · 8 min read

What a shared mailbox permission audit actually checks

Microsoft 365 shared mailboxes carry three separate permission types, and each one is assigned, removed and audited independently:

An audit walks every configured mailbox and answers one question for each delegate on each permission type: is this entry still supposed to exist?

Why permission drift accumulates

No single event causes stale delegation. It builds up from several ordinary changes that each look harmless in isolation:

Each of these produces a specific, checkable audit finding rather than a vague "something might be wrong":

Desired state vs. actual state

Every one of those findings comes from comparing two lists: who the group saysshould have access (desired state), and who Exchange says currently has access (actual state). A mismatch in either direction is worth flagging — someone missing an expected permission is as much a finding as someone holding a permission they shouldn't. Audit surfaces both sides of that mismatch; it doesn't assume the drift only ever runs one way.

Why a one-time CSV export isn't enough

Exporting current permissions with Get-MailboxPermission andGet-RecipientPermission gives you a snapshot of actual state at the moment you ran the script. It does not tell you which of those grants are still intentional, and it stops being accurate the moment someone joins or leaves a group afterward. A permission audit that only happens once a year, during a compliance review, finds the drift that accumulated over the entire year in one uncomfortable sitting — instead of catching each piece of it close to when it happened.

Audit vs. reconciliation

These are two different operations, and conflating them leads to either false confidence or unsafe automation:

Audit is read-only. It tells the administrator where current state looks wrong or suspicious, and leaves the decision about what to do with each finding to a person.

Reconciliation is the process that actually changes permissions — adding missing managed grants and removing stale managed ones — but only for entries inside its own configured management scope. Not every audit finding should be auto-remediated by reconciliation; some findings (a deleted mapped group, an unmanaged direct grant someone added deliberately) need a human decision first.

When PowerShell auditing is enough

A scheduled script built around Get-MailboxPermission,Get-RecipientPermission and a lookup against Get-ADUser for enabled/disabled state can answer most of these questions for a handful of mailboxes. It becomes harder to keep current as the mailbox count grows, as more admins make ad hoc direct grants outside the script's knowledge, and as the script itself needs its own monitoring to notice when a scheduled run silently stops working.

How Tenvero's Delegation Audit fits

Tenvero's Delegation Audit runs the same four checks above — disabled accounts, orphaned trustees, missing or non-security mapped groups, and unmanaged direct access — across every mailbox mapping it already manages, on demand or on a schedule, and exports results to CSV. It is read-only: running an audit never changes AD group membership or Exchange permissions on its own. Reconciliation, which does change managed permissions, is a separate step the administrator controls.

Audit one existing shared mailbox

Adopt one mailbox's current delegation and see what Delegation Audit finds. 30-day trial, no credit card.

Start 30-day trial