Saturday, March 17, 2018

Exchange Resource Mailbox Exclude Delegates From Accepting/Denying Their Own Meetings

When you have a Resource Mailbox set to require Delegates to manage meetings, the default setting is that meetings from all users must be accepted/rejected by Delegates. Even the Delegates' own meetings. This is counterintuitive, since of course the Delegate would know when the Resource is free or busy. The default settings should exclude the Delegates, but we can't have everything we ask for, can we Microsoft?

In order to exclude the Delegates from accepting/denying their own meeting requests, we need to manually change the BookInPolicy on the mailbox; in Exchange 2013/2016 it must be done in PowerShell...there's no option to change it in the EAC.

The requirements for the Resource Mailbox to allow Delegates to book automatically, but require all other users to book with approval are as follows:

All Book In Policy: False

All Request Out of Policy: False

All Request In Policy: True

Book in Policy: One or More Users/Group Defined

Resource Delegates: One or More Delegates Defined

Fire up the Exchange Management Shell (EMS) and run the following cmdlet to set the above options:

Set-CalendarProcessing "Conference Room HR" -BookInPolicy "receptionist@exchangeitup.com","assistant@exchangeitup.com" -AllBookInPolicy $False -AllRequestOutOfPolicy $False -AllRequestInPolicy $True

**Note** Change "Conference Room HR" to the name of your Resource Mailbox, and "receptionist@exchangeitup.com","assistant@exchangeitup.com" to the email addresses of your Delegates.

**Note** I'm assuming you already have Resource Delegates set on the Mailbox, but if you need to add those as well, just include -ResourceDelegates "receptionist@exchangeitup.com","assistant@exchangeitup.com" in your cmdlet

What this cmdlet does is sets the Resource policies listed above, and adds your Delegates to the "BookInPolicy" list.
You can use a Distribution Group if you have multiple Delegates you want to set; you would just use the DL's email address in place of the Delegates' addresses like so: -BookInPolicy "roommanagersDL@exchangitup.com" -ResourceDelegates "roommanagersDL@exchangeitup.com"

To the check that the settings have been applied to the Resource Mailbox, run:

Get-CalendarProcessing "Conference Room HR" | FL AllBook*,AllReq*,BookInPol*,Request*,Resource*

You'll get the following output:

AllBookInPolicy               : False
AllRequestOutOfPolicy    : False
AllRequestInPolicy           : True
BookInPolicy                    : {/o=exchangeitup/ou=Exchange Administrative Group
                                  (FYDIBOHF23SPDLT)/cn=Recipients/cn=91bb55ebc2a64cb4844b31c470833308-                                           receptionist,
                                          /o=exchangeitup/ou=Exchange Administrative Group
                               (FYDIBOHF23SPDLT)/cn=Recipients/cn=f3ac6e3f538d47f19da77d79b6f7a407-                                          assistant}
RequestOutOfPolicy        : {}
RequestInPolicy               : {}
ResourceDelegates           : {exchangeitup.com/Mailboxes/assistant,


In the above output, you can see that your Delegates are now listed in the "BookInPolicy" in LegacyDN format.

Now to test, have one your Delegates schedule a meeting in that Room and see that the request will automatically be accepted or denied based on availability and they don't get the request itself forwarded to their mailbox.

You should have happy Delegates now that they don't get tons of requests coming in...I usually advise organizations to always use automatically booking because it saves a lot of work for both the Exchange admin and the delegates, and 99% of the time I end up being told to switch the rooms back to auto-booking when the delegates get tired of managing so many requests...maybe they should listen to me in the first place.

1 comment:

  1. Thanks for the easy read but this isn't working for me. I've added my own account to the -BookInPolicy which works fine. I book the room and it auto-accepts. As soon as I set myself as the resource delegate, my new requests are tentative even though I'm still in the -BookInPolicy.