A MDM-agnostic, unified, user-friendly macOS script to repair, reset, or remove Microsoft 365 components

Background
A December 2023 Microsoft 365 Reset (2.0.0b1) via Jamf Pro Self Service post detailed a “quick-and-dirty Jamf Pro Policy hack for testing Microsoft_Office_Reset_2.0.0.pkg” (which still works as advertised today, more than 840 days later).
However, while recently conducting some internal training, I was pained by how user un-friendly the workflow seemed, even if it did get the job done.
Slideshow
Overview
The latest version is always available in the Microsoft-365-Reset repository on GitHub.com.
The Microsoft-365-Reset.zsh script seeks to provide an MDM-agnostic, unified, user-friendly approach to all of Paul’s Office-Reset goodness.
Additionally, one resolution to the nightmare that is the Adobe Acrobat Add-in Removal for Microsoft 365 is also included.
Under-the-hood
The script consolidates the expanded package workflows into one easy-to-use tool with:
- Interactive swiftDialog UI in
self-service,test, anddebugmodes - Non-interactive execution in
silentmode - Dependency-aware operation resolution
- Deterministic execution order
- Shared logging and exit codes for automation
- Auto-repair for selected Microsoft apps using Microsoft-hosted packages
- MOFA community-maintained reset script contents adapted into the unified workflow
MOFA Parity
The MOFA Community scripts are built upon the original
Office-Reset.comtools, ensuring they remain up-to-date, reliable, and continuously improved.
reset_factoryperforms its own MOFA-style suite cleanup in addition to dependency expansion- App repair/reinstall flows for Word, Excel, PowerPoint, Outlook, and OneNote now stop after repair instead of continuing with configuration cleanup in the same run
reset_teamspreserves Teams backgrounds, resets Teams TCC state, and opens Screen Recording settings in interactive modesreset_teamspreserves installed Teams app bundles unless repair is required;reset_teams_forceperforms the explicit app removal and reinstall path- Teams reset and AutoUpdate registration now treat new Teams as the current
TEAMS21product while keeping classic Teams on the legacy product ID - Separate
reset_licenseandreset_credentialsoperations cover MOFA’s split between license-only and broader sign-in reset flows reset_teams_forceprovides a force-reinstall path for Teams without adding a new CLI parameter
Support
Best-effort support is available on the Mac Admins Slack (free, registration required) — sans a dedicated channel for this script — or you can open an issue (after reviewing the README.md).








