PowerShell script to determine/report on double-booked resources in MS Exchange
# WHAT DOES THIS DO?
# This PowerShell script creates a general callable function to report on double bookings in
# meetings rooms / resources in Microsoft Exchange 2016 or Office 365
#
# WHO IS THIS FOR?
# This script is meant for Microsoft Exchange administrators and support folks that manage Exchange.
# It is NOT meant for end users (but see below on Sumatra’s OTHER solution for that)
#
# WHAT DO YOU DO WITH THIS SCRIPT OUTPUT?
# This script produces a CSV file that lists up-coming conflicts in resources.
# It shows the meeting room, organizers, meeting start and end time, and the
# number of conflicts. Please note: There is no subject! Most rooms are
# configured only to show the organizer name as the subject.
#
# We recommend sending an Excel spreadsheet with this information to all people
# on the list with instructions. For example:
# …’We’ve noticed one of your upcoming meetings conflicts with one or more meetings
# booked in the xxx conference room on the same date and time. We’ve
# attached the list of conflicts and the name(s) of the other meeting
# organizers. We hope you will work out the conflicts, in advance, to
# avoid any unnecessary altercations in the room. Management frowns
# upon violence in the workplace.’ …
#
#
# HOW TO USE THIS FILE
# 1. Make a copy and work on the copy
# 2. You will need a SERVICE ACCOUNT with IMPERSONATE Rights to any conference rooms or resources
# you wish to check for double bookings.
# For instructions on setting up a service account see:
# https://calendarservermigration.blogspot.com/2014/05/the-cookbook-version-of-exchange-2013.html
# 3. If it looks like code — it IS code — DO NOT MODIFY IT!
# 4. GO to the ‘CUSTOMIZE HERE FOR YOUR ENVIRONMENT’ Section at the very bottom to set up your credentials
# and any relevant parameters
# 5. Follow additional instructions at bottom