Skip to content

BookingsDiagnosticSummary

Download the latest release: BookingsDiagnosticSummary.ps1

This script runs a series of tests in a bookings Mailbox (one per execution) and returns a summarized list of the bookings Mailbox characteristics, as well as testing for known configuration issues that can lead to bookings not performing as expected.

This script only runs on Exchange Online, as Microsoft Bookings is an online only application.

Additionally, it will collect the most common logs needed for troubleshooting by support, including:

  • Staff Membership log
  • Message Tracking Log
  • Booking Mailbox configuration
  • Staff List and Permissions
  • Services configuration

To run the script, you will need a valid SMTP Address for a booking Mailbox.

The Identity parameter is required, all remaining are optional and default to true.

Syntax

BookingsDiagnosticSummary.ps1 -Identity <string>
  [-Staff <bool>]
  [-StaffMembershipLog <bool>]
  [-Graph <bool>]
  [-MessageTrace <bool>]
  [-ExportToCSV <bool>]
  [-ExportToExcel <bool>]
Parameters: Explanation:
-Identity Booking MB SMTP Address (Only one per execution)
-Staff Verify Staff permissions for the Bookings mailbox.
-StaffMemberShipLog Get the Staff Membership Log for the Bookings mailbox.
-Graph Use Graph API to get the Bookings mailbox, Staff, Services and Availability.
Graph will allow the best comprehensive tests going through, as it will collect services data and staff, allowing to check more issues, such as permissions and more.
In the graph connection you will need the following scopesĀ (Delegated):
User.Read.All
Bookings.Read.All
-MessageTrace Get MessageTrace logs for the Bookings mailbox(Past 5 days).
-ExportToCSV Export all data to CSV.
-ExportToExcel Export the output to an Excel file with formatting.

Examples:

Example to perform all tests on a Bookings Mailbox:

BookingsDiagnosticSummary.ps1 -Identity booking@contoso.com

Example to perform tests without collecting Message Traces:

BookingsDiagnosticSummary.ps1 -Identity booking@contoso.com -MessageTrace $false

Export test results to Excel, but skip CSV files creation:

BookingsDiagnosticSummary.ps1 -Identity booking@contoso.com -ExportCSV $false

Will create file like .\BookingsSummary_<BookingSMTP>_yyyy-MM-dd_HHmm.xlsx in current directory. <BookingSMTP> will be the left part of the @ from the email. I.e. booking@contoso.com returns booking.