Tweaking with Exchange Online Room Mailboxes.
For example these are my users
You can also see the mailboxes in the PowerShell
Now what we will do is we will have few users who will have no restrictions to create meetings in room mailbox , and few users who will approve meetings request sent to the room mailbox
In my case the room mailbox name is Cons
As you can see my room mailbox is
And in the portal as well
We just have to play around with total 7 parameters which my room mailbox have at the initial phase. And this is a brand new room mailbox that I have made so all parameters are set to default values as you can see
ResourceDelegates : {}
RequestOutOfPolicy : {}
AllRequestOutOfPolicy : False
BookInPolicy : {}
AllBookInPolicy : True
RequestInPolicy : {}
AllRequestInPolicy : False
Now talking about these parameters lets start with the first one
ResourceDelegates:- Resource mailbox delegates can approve or reject requests sent to the resource mailbox. Value for this parameter contains user mailboxes or groups email addresses.
RequestOutOfPolicy :-Out-of-policy requests are subject to approval by a resource mailbox delegate. Users who are allowed to submit out-of-policy requests. Value for this parameter contains user mailboxes or groups email addresses.
AllRequestOutOfPolicy:-The AllRequestOutOfPolicy parameter specifies whether to allow all users to submit out-of-policy requests or not. Valid input for this parameter is $true or $false.
BookInPolicy:- Users who are allowed to submit in-policy meeting requests to the resource mailbox. Any in-policy meeting requests from these users are automatically approved. Value for this parameter contains user mailboxes or groups email addresses.
AllBookInPolicy :-The AllBookInPolicy parameter specifies whether to automatically approve in-policy requests from all users. Valid input for this parameter is $true or $false.
RequestInPolicy :- users who are allowed to submit in-policy meeting requests to the resource mailbox. All in-policy meeting requests from these users are subject to approval by a resource mailbox delegate. Value for this parameter contains user mailboxes or groups email addresses.
AllRequestInPolicy:- The AllRequestInPolicy parameter specifies whether to allow all users to submit in-policy requests. Valid input for this parameter is $true or $false.
So according to the scenario which you want you want to have few people should be able to get meetings request auto approve and other should not. And the one’s who’s requests are not auto accepted by room mailbox should go to people who will approve it that means ResourceDelegates. But if Resource delegates will schedule meeting in room mailbox it should also get auto approve (which is what my logic says)
Now when we talk about the in-policy and out-of-policy request the meaning of that is when someone tries to set meeting request in room mailbox and if the criteria of the meeting is satisfied with respect to duration, start/end times, recurring or non-recurring etc. room mailbox will either accept it or will reject it. And this is calculated by the parameter AutomateProcessingTheAutomateProcessing parameter enables or disables calendar processing on the mailbox. This parameter takes the following values:
NoneBoth the resource booking attendant and the Calendar Attendant are disabled on the mailbox.
AutoUpdateOnly the Calendar Attendant processes meeting requests and responses.
AutoAcceptBoth the Calendar Attendant and resource booking attendant are enabled on the mailbox. This means that the Calendar Attendant updates the calendar, and then the resource booking assistant accepts the meeting based upon the policies.
For the Room calendar to forward the meeting response for approval to the delegates in order to approve it or reject it whether the meeting request is in-policy or out-of-policy the two important parameters AllBookInPolicy and AllRequestOutOfPolicy. But the magical thing is that there is no parameter as AllBookoutofPolicybecause obviously you cannot have any user outside your organization to book a meeting in the room mailbox which does not satisfies the policy criteria example duration, start/end times, recurring or non-recurring etc .
So let’s move ahead we will configure user1, user2, user3 and user4 as the booking delegates
I used the command Set-CalendarProcessing cons -ResourceDelegates user1,user2,user3,user4
Now since we have already assigned these users the authority to approve meetings lets also have the room mailbox understand that it should not approve all the meetings regardless of being in-policy.
So we will flip the parameter AllBookInPolicy
Set-CalendarProcessing cons -AllBookInPolicy $false
Now since we have configured the room mailbox in such a way that regardless of anyone trying to book a meeting in it whether it satisfies the meeting criteria example duration, start/end times, recurring or non-recurring etc it will get rejected.
See the screen shot
If I want this user to have the approval for setting up a meeting in the room mailbox then I will simply go ahead and set the parameter AllRequestInPolicyand the value will be $true
Set-CalendarProcessing cons -AllRequestInPolicy $true
And when I will send the email again it will not completely get approve but will be pending for approval and email will be shot to all of the delegate user1,user2,user3 and user4
And user4 who is the delegate will get the email stating one meeting request pending for approval in room mailbox because user4 is the delegate
But if I add a user to bookinpolicy
Set-CalendarProcessing cons -BookInPolicy user9
Thebn I scheduele a meeting
You can see that the test meeting is automatically accepted without any delegate approval