SkillAgentSearch skills...

Tools

Powershell EWS Tools

Install / Use

/learn @DrummerViking/Tools
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Exchange Powershell tools

Exchange Powershell tools mostly use in Exchange Online (Office 365)

  1. Search-GUI tool (Exchange On-prem)
  2. Get MRM Statistics Tool (Exchange On-prem and EXO)
  3. Get MRM Romaing XML Stream from Mailbox (Exchange On-prem and EXO)
  4. Merge SoftDeleted Mailboxes using a GUI (EXO)
  5. Online Mailbox and Archive report using a GUI (EXO)
  6. Delete Meetings using a GUI (Exchange On-prem and EXO)
  7. Replace Room locations in meetings for new ones (EXO)
  8. Export Calendar Items (EXO)
  9. Manage Mobile Devices using a GUI (EXO)
  10. Manage Folder Permisions for Admins using a GUI (Exchange On-prem and EXO)
  11. Manage UserPhoto using a GUI (Exchange On-prem and EXO)
  12. Parse Incident reports emails (Exchange On-prem and EXO)
  13. Get Quarantine Report based on group members (EXO)
  14. Inject test messages into the Archive's Inbox
  15. Inject test messages into a Public Folder
  16. Test Autodiscover V2
  17. Collect FreeBusy information (Exchange On-prem and EXO)
  18. Get Exchange Server Info Tool (Exchange On-prem)

Search-GUI tool (Exchange On-prem)

Allows admins to Search, export and Delete content from mailboxes.
Also allows to Get RecoverableItems and Restore items.
Update: This tool will only work in Exchange On-premises. It relies on the command "Search-Mailbox" which has been deprecated from Exchange Online.
More Info - Download (Right click and select 'Save link as')


Get MRM Statistics Tool (Exchange On-prem and EXO)

Allow admins to check current MRM Statistics and info for users.
App brings Current Retention Policy and Tags.
Can get current Managed Folder Assistant Cycle Stats for primary and Archive Mailbox.
Recently added a new button, to get statistics on messages received daily in the last 7 days.
Button available to issue a "Start-ManagedFolderAssistant" on the account.
Button available to get ManagedFolderAssistants logs from mailbox.
More Info - Download (Right click and select 'Save link as')


Get MRM Romaing XML Stream from Mailbox (Exchange On-prem and EXO)

This scripts allows to inspect the MRM configuration message in a user's mailbox.
Allows to see the PR_ROMAING_XMLSTREAM data, and returned as a text.
It also allows to delete this message.
More Info - Download (Right click and select 'Save link as')


Merge SoftDeleted Mailboxes using a GUI (EXO)

Automate the process to create a New-MailboxRestoreRequest and verify the progress of it. It will allow to export SourceAccount's ProxyAddresses in case needs to be imported in the target account.
Allows to select and combine if we involve Archive Mailboxes.
More Info - Download (Right click and select 'Save link as')


Online Mailbox and Archive report using a GUI (EXO)

Get reports for Mailboxes and Archives hosted in Exchange Online.
Report can be viewed live in powershell interface, or send as HTML report by email.
More Info - Download (Right click and select 'Save link as')


Delete Meetings using a GUI (Exchange On-prem and EXO)

Delete Meeting items from attendees when Organizers already left the company, in Exchange Online.
You can pass a list of users/room mailboxes, and delete all meetings found from a specific Organizer.

There is also a Graph Powershell script that can be used as well here.

As this uses EWS, you will need a "master account" with Impersonation permissions. You can run:

New-ManagementRoleAssignment –Name:impersonationAssignmentName –Role:ApplicationImpersonation –User:<Account>

This will give Impersonation permissions over all mailboxes in the tenant, so is critical that this account is not shared.
We recommend that y ou use the tool initially for a single user/room mailbox, and check you have the expected experience.
Is not recommended to run against an Organizer Mailbox. There is already a builtin command in Exchange Online service for this: Remove-CalendarEvents
More Info - Download (Right click and select 'Save link as')


Replace Room locations in meetings for new ones (EXO)

There are times that organizations needs to delete some Room Mailboxes, but if those mailboxes have some meeting items already scheduled, we actually need to replace for a new Room Mailbox.
This is usually a tedious task that every meeting Organizer should do, by removing the previous Room mailbox, add the new one, and send the update to all attendees.
We have made this script in order ease this task for admins.

As this uses EWS, you will need a "master account" with Impersonation permissions on your mailboxes. You can run:

New-ManagementRoleAssignment –Name:impersonationAssignmentName –Role:ApplicationImpersonation –User:<Account>

This will give Impersonation permissions over all mailboxes in the tenant, so is critical that this account is not shared.

More info and details here:
More Info - Download (Right click and select 'Save link as')


Export Calendar Items (EXO)

Exports calendar items, some user/room mailboxes have in Exchange Online.
Reports can be exported to a ExportFolderPath or by default to user's Desktop.

<details> <summary>Connect using Oauth delegated Permissions</summary> <sub>If you want to connect using Oauth delegated permissions, you will need a "master account" with Impersonation permissions. You can run: <br> <b>New-ManagementRoleAssignment –Name:impersonationAssignmentName –Role:ApplicationImpersonation –User:"Account"</b><br> This will give Impersonation permissions over all mailboxes in the tenant, so is critical that this account is not shared.<br><br> </sub> </details> <details> <summary>Connect using Oauth Application Permissions</summary> <sub>If you want to connect using Oauth Application permissions, you need to register an App, grant permissions, and the script will require ClientID, tenantID and ClientSecret. <br> More info here: https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-authenticate-an-ews-application-by-using-oauth <br> </sub> </details>

The report exports the following columns:

Mailbox, Subject, Organizer, RequiredAttendees, OptionalAttendees, Resources, Start Time, End Time, isRecurring, AppointmentType, ItemId

More Info - Download (Right click and select 'Save link as')


Manage Mobile Devices using a GUI (EXO)

Allows admins to manage mobile devices in Exchange Online with a simplified GUI, and 'allow' or 'block' them in bulk.
File - Download (Right click and select 'Save link as')


Manage Folder Permisions for Admins using a GUI (Exchange On-prem and EXO)

This file loads a GUI (Powershell Forms) to allow an admin to manage their user's mailbox folder permissions. It allows to add, remove and get permissions.
It has a simple logic to try to connect to on-premises environments automatically.
It has been tested in Exchange 2013 and Office 365.
More Info - Download (Right click and select 'Save link as')


Manage UserPhoto using a GUI (Exchange On-prem and EXO)

Allow admins to upload user Photos to Exchange Online using a GUI.
We grant the option to create a RBAC Role Group, with the minimum permissions to list mailboxes and manage UserPhotos. This is intended for a help desk assignment.
More Info - Download (Right click and select 'Save link as')


Parse Incident reports emails (Exchange On-prem and EXO)

Have you ever had a folder in your mailbo

Related Skills

View on GitHub
GitHub Stars7
CategoryDevelopment
Updated1y ago
Forks2

Languages

PowerShell

Security Score

75/100

Audited on Mar 24, 2025

No findings