Removing Exchange Online calendar events when the meeting organizer leaves

“Hey, look! A new Office 365 feature!”

I get to say this a lot given how often Microsoft drops new features into various parts of the service. Sometimes they announce these features in advance, and sometimes they don’t. Sometimes these features are large, and sometimes they’re small.. but even the small ones are often surprisingly valuable.

Today’s example: the new Remove-CalendarEvents cmdlet, which solves the issue of what to do with recurring meetings when a user leaves or is on extended leave. Here’s what the documentation says:

This cmdlet cancels meetings in the specified mailbox where the mailbox is the meeting organizer, and the meeting has one or more attendees or resources. It doesn’t cancel appointments or meetings without attendees or resources.

This is perfect for handling the case when someone leaves an organization and leaves behind recurring meetings, but it’s also useful for cleaning up calendar items for people who are on parental leave, medical leave, or other types of absence with a defined start and end time.

You can cancel all meetings with the -CancelOrganizedMeetings switch, or you can specify a date range with switches to specify the start date and the number of days or the end date to cancel. Keep in mind that if you don’t include -CancelOrganizedMeetings, nothing will happen when you run the cmdlet– if you want to see what it would do, you can use -PreviewOnly. I am not sure why the team didn’t use the standard -WhatIf switch, but that’s a minor point.

The cmdlet is very easy to use. I wanted to cancel all future meetings organized by a user who’s left my tenant, so this is what I did:

A single cmdlet will remove all of the target user’s meetings

Note what happened on the first try– I didn’t specify any switches, and the cmdlet warned me that it wouldn’t do anything… and indeed, it didn’t. The second attempt did exactly what it was supposed to:

Poof! no more meeting

I was delighted to see this result– it’s proof that Microsoft is paying attention to the small sharp edges that sometimes annoy administrators disproportionately. Hats off to the calendaring team (hi, Julia!) and thanks for listening.

6 Comments

Filed under UC&C

6 responses to “Removing Exchange Online calendar events when the meeting organizer leaves

  1. Pingback: Removing Exchange Online calendar events when the meeting organizer leaves | 365ForAll

  2. MS really needs to add a -ChangeMeetingOrganizer switch.

    • robichaux

      Yes! I think this is on UserVoice somewhere but I know the MVPs gave Microsoft’s Julia Foran a really strong signal that we want this functionality.

  3. David Roberts

    I presume you ran the cmdlet on an exchange server. In the world of the cloud, there are a number of users that would like similar functionality at an end user end, just to be able to clear their own diaries without losing history.

    Years ago I up used to be able to achieve this when syncing my calendar to my Palm. Palm offered the option to delete future recurring meetings, and magically the meetings would be gone after syncing back Outlook.

  4. Zod

    Unfortunately, this will only work if the “Leaver” still has a valid mailbox on the mail system. It the AD object and the Mailbox have been deleted, this command will not work. This becomes a major problem with organizations that use a 3rd party user provisioning/deprovisioning system like PeopleSoft or similar. You just can’t go into the system and recover the old user and mailbox. The provisioning system is the gatekeeper of this action and doing this on the back-end will mess up any synchronizations.

  5. Marlenus

    This command is a great start…but it needs to be enhanced if Microsoft wants this to become a tool that admins can use. For instance, there needs to be a -Subject parameter so that only meeting with a specific subject will be canceled. I get users all the time telling me that they deleted a meeting and forgot to cancel it…and there is nothing I can do to help them!

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.