Scenario
Administrators need to verify whether the Exclaimer Outlook Add-in (or other Office add-ins) is deployed and available across all users in a Microsoft 365 tenant. Use this article when troubleshooting cases where users report that the add-in is missing, not loading, or inconsistently deployed.
Reason
Add-in deployment issues can occur for several reasons:
- Centralized Deployment did not complete successfully.
- The assigned deployment group or scope does not include the affected user.
- Microsoft 365 delays add-in propagation.
- Licensing or mailbox provisioning constraints block deployment.
- Users were offline during or after deployment, which prevents the add-in from registering in their mailbox.
Resolution
Open PowerShell as Administrator.
Run the following command to check deployment status across all users:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass; Invoke-WebRequest -Uri "https://raw.githubusercontent.com/exclaimerltd/Internal-Support-Scripts/master/GetAddInForAllUsers.ps1" -OutFile "$env:TEMP\GetAddInForAllUsers.ps1"; & "$env:TEMP\GetAddInForAllUsers.ps1"
NOTES:
Running this command:
• Bypasses the PowerShell execution policy for the current session.
• Downloads the script to the local temporary directory.
• Executes the script automatically.
The script then:
• Checks for the required Exchange Online module and installs it if missing.
• Prompts for authentication.
• Establishes the connection to Exchange Online automatically.- Review the output.
- The script will return a list of users and the status of the specified Add-in.
- Confirm whether the Add-in is present, enabled, and assigned correctly.
- Check where the output files are saved.
The script automatically determines where to save the output files.
- Primary location: C:\Users\<username>\Downloads
Fallback location (if Downloads is unavailable): C:\Temp (the script creates this folder if it does not already exist)
NOTES: Output files generated:
• CSV report: GetAddInForAllUsers_<timestamp>.csv — contains the full results of the add-in status check per user.
• Transcript log: Transcript_<timestamp>.txt — contains a full log of the script execution for troubleshooting.
The <timestamp> format is yyyyMMdd_HHmmss (for example, 20260409_143015).
NOTES:
• The script handles the connection to Exchange Online automatically; you do not need to connect manually.
• The script requires appropriate permissions to query Exchange Online.
• Results may not reflect real-time changes due to propagation delays in Microsoft 365.
• If you run the script too soon after deployment, it may not show the add-in for users who were offline between deployment and script execution. These users typically need to come online (for example, by launching Outlook) for the add-in to register.
• If users are missing the add-in despite being assigned, confirm group membership, verify the Centralized Deployment configuration, and check mailbox provisioning status.
• This script is particularly useful for comparing expected versus actual deployment at scale.
• The script handles the connection to Exchange Online automatically; you do not need to connect manually.
• The script requires appropriate permissions to query Exchange Online.
• Results may not reflect real-time changes due to propagation delays in Microsoft 365.
• If you run the script too soon after deployment, it may not show the add-in for users who were offline between deployment and script execution. These users typically need to come online (for example, by launching Outlook) for the add-in to register.
• If users are missing the add-in despite being assigned, confirm group membership, verify the Centralized Deployment configuration, and check mailbox provisioning status.
• This script is particularly useful for comparing expected versus actual deployment at scale.