Advanced: professionalize meeting rooms in your O365 tenant

Having meeting rooms in your O365 tenant is quite common. They are also easy to set up in your environment. However, there is more that you can do to make your environment work better and look nicer.

Setting the timezone and working hours for your meeting rooms

Setting the correct timezone makes that all times are displayed correctly and that there will be a correct time in all replies from the meeting room mailbox. The working hours define the times a room is normally bookable according to company policies. A room will not display as a suggestion outside the working hours of that room.
Note: The system will not actively prevent a room to be booked outside working hours when selected manually.

You can configure the time settings via Powershell only.
Let’s say there is a room that is in Western Europe timezone that is normally available from 6:30 AM to 8 PM.

Set-MailboxCalendarConfiguration -Identity room@company.com -WorkingHoursStartTime 06:30:00 -WorkingHoursEndTime 20:00:00 -WorkingHoursTimeZone "W. Europe Standard Time"

To set these settings for all existing rooms in your tenant:

Get-MailBox | where {$_.ResourceType -eq "Room"} | Set-MailboxCalendarConfiguration -WorkingHoursStartTime 06:30:00 -WorkingHoursEndTime 20:00:00 -WorkingHoursTimeZone "W. Europe Standard Time"

Limit who can book a meeting room

In my company, we have rooms that are reserved for specific groups of people. For example management or people involved in certain projects. Nobody outside these groups should be able to book these rooms.

Office 365 accepts can be set to automatically accept all incoming calendar requests, a setting that is turned on for meeting rooms by default. You can change this setting to a more restrictive state to accommodate the above scenario.

To only allow members of a security group “Allow-BookRoom@company.com” to book room@company.com:

Set-CalendarProcessing -Identity room@company.com -AllBookInPolicy: $False -AllRequestInPolicy: $False -BookInPolicy “Allow-BookRoom@company.com”

If the person inviting a room is not a member of the security group, the request will be declined.

You can set a mail tip as a warning, that will show up in Outlook even before the invitation is sent.

Set-Mailbox room@company.com -MailTip "Warning: this room is restricted."

To revert this entire situation and allow everybody to book the room, you would use this command:

Set-CalendarProcessing -Identity room@company.com -AllBookInPolicy: $True -AllRequestInPolicy: $True -BookInPolicy $NULL

Remove manual permissions set on a calendar or mailbox

Some rooms may have permissions set on the calendar itself that defeat the above policy. For example, you may have persons with editor rights, who can simply create reservations in a meeting room bypassing the Book In Policy.
To remove this configuration via Powershell, but leaving the default and anonymous user, you can use this command:

Get-MailboxFolderPermission room@company.com:\calendar | ? {$_.User -notmatch "^(Default|Anonymous)$"} | % { Remove-MailboxFolderPermission -Identity $_.Identity -User $_.user.Displayname -Confirm: $false}

I hope that you find the above meeting room tweaks useful.