Skip to content

About

Exchange Online + Microsoft 365 diagnostics toolkit (Mailflow, Mailbox, Calendar, Connectivity).

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EXO Diagnostics Toolkit

PowerShell Bash Exchange Online License: MIT

Production-style diagnostics scripts for Exchange Online / Microsoft 365 operations.

What this solves

  • Fast mailflow triage with message trace details.
  • Practical mailbox health checks (usage, quota, activity).
  • Calendar permission diagnostics (sharing, delegates, processing).
  • Lightweight M365 connectivity validation from terminal.

Toolkit

PowerShell

  • powershell/mailflow-diagnostic.ps1
    • Message trace + detail extraction for sender/recipient path issues.
    • Optional incident metadata: -AffectedUser, -AffectedUserEmail.
  • powershell/mailbox-health-check.ps1
    • Mailbox size, quota posture, activity timestamps, top folders.
    • Optional incident metadata: -AffectedUser, -AffectedUserEmail.
  • powershell/calendar-health-check.ps1
    • Calendar permissions, delegate setup, sharing + processing checks.
    • Optional incident metadata: -AffectedUser, -AffectedUserEmail.

Bash

  • bash/m365-connectivity-check.sh
    • DNS + HTTPS + SMTP STARTTLS probes for key M365 endpoints.

Requirements

  • PowerShell 7+
  • Module: ExchangeOnlineManagement
  • Bash tooling (optional script): dig, curl, openssl

Quick usage

# Connect once
Connect-ExchangeOnline

# 1) Mailflow diagnostic
./powershell/mailflow-diagnostic.ps1 `
  -Sender sender@contoso.com `
  -Recipient user@contoso.com `
  -Hours 24 `
  -AffectedUser "Any User" `
  -AffectedUserEmail "any.user@contoso.com"

# 2) Mailbox health
./powershell/mailbox-health-check.ps1 `
  -Mailbox user@contoso.com `
  -AffectedUser "Any User" `
  -AffectedUserEmail "any.user@contoso.com"

# 3) Calendar health
./powershell/calendar-health-check.ps1 `
  -Mailbox user@contoso.com `
  -AffectedUser "Any User" `
  -AffectedUserEmail "any.user@contoso.com"
./bash/m365-connectivity-check.sh contoso.onmicrosoft.com

Output

  • CSV/JSON exports for ticketing and post-incident notes.
  • Console-friendly summaries for rapid first response.

Professional next steps

  • Add transport rules and connector audit scripts.
  • Add anti-spam / anti-phish policy snapshot.
  • Generate unified HTML incident report.

Project hygiene

SEO & AI Search Keywords

Primary search title: Exchange Online Diagnostics Toolkit (PowerShell + Bash)

Target keywords:

  • exchange online diagnostics toolkit
  • microsoft 365 troubleshooting scripts
  • mailflow mailbox calendar health check
  • powershell exchange tools

High-intent AI search questions:

  • What toolkit helps triage Exchange Online incidents fast?
  • How to run mailbox and calendar health checks?
  • How to check Microsoft 365 connectivity from terminal?

On-page SEO notes:

  • Keep issue-first headings (problem -> diagnosis -> next step).
  • Include command examples with realistic placeholders only.
  • Repeat key terms naturally in H1/H2, intro, and troubleshooting sections.
  • Add incident outcome language: root cause, remediation, validation, prevention.

About

Exchange Online + Microsoft 365 diagnostics toolkit (Mailflow, Mailbox, Calendar, Connectivity).

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages