Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release #1781

Merged
merged 14 commits into from
Jul 28, 2023
17 changes: 17 additions & 0 deletions Calendar/Get-RBASummary.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,22 @@ function ValidateMailbox {
Write-Host ;
}

# Validate that there are not delegate rules that will block RBA functionality
function ValidateInboxRules {
Write-Host "Checking for Delegate Rules that will block RBA functionality..."
Write-Host -NoNewline "Running : "; Write-Host -ForegroundColor Cyan "Get-InboxRule -mailbox $Identity -IncludeHidden"
$rules = Get-InboxRule -mailbox $Identity -IncludeHidden
# Note as far as I can tell "Delegate Rule <GUID>" is not localized.
if ($rules.Name -like "Delegate Rule*") {
Write-Host -ForegroundColor Red "Error: There is a user style Delegate Rule setup on this resource mailbox. This will block RBA functionality. Please remove the rule via Remove-InboxRule cmdlet and re-run this script."
Write-Host -NoNewline "Rule to look into: "
Write-Host -ForegroundColor Red "$($rules.Name -like "Delegate Rule*")"
Write-Host -ForegroundColor Red "Exiting script."
exit;
}
Write-Host -ForegroundColor Green "Delegate Rules check passes."
}

# Retrieve the CalendarProcessing information
function GetCalendarProcessing {
Write-Host -NoNewline "Running : "; Write-Host -ForegroundColor Cyan "Get-CalendarProcessing -Identity $Identity"
Expand Down Expand Up @@ -476,6 +492,7 @@ function Write-DashLineBoxColor {

# Call the Functions in this order:
ValidateMailbox
ValidateInboxRules
GetCalendarProcessing
EvaluateCalProcessing
ProcessingLogic
Expand Down
12 changes: 7 additions & 5 deletions docs/Calendar/Get-RBASummary.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Download the latest release: [Get-RBASummary.ps1](https://github.com/microsoft/C

This script runs the Get-CalendarProcessing cmdlet and returns the output with more details in clear English, highlighting the key settings that affect RBA and some of the common errors in configuration.

The script will validate the mailbox is the correct type for RBA to interact with via the Get-Mailbox cmdlet.
The script will also validate the mailbox is the correct type for RBA to interact with (via the Get-Mailbox cmdlet) as well as check for any Delegate rules that would interfere with RBA functionality (via the Get-InboxRules cmdlet).


Syntax:
Expand All @@ -18,10 +18,12 @@ Example to display the setting of room mailbox.
```

High-level steps for RBA processing: <br>
1. Determine if the Meeting Request is in policy or out of policy.
1. If the meeting request is Out of Policy, see if the user has rights to create an Out of Policy request and if so, forward it to the Delegates.
1. If it is In Policy, then either book it or forward it to the delegate based on the settings.
1. Lastly the RBA does the configured Post Processing steps to format the meeting (delete attachments, rename meeting, etc.)

1. Determine if the Meeting Request is in policy or out of policy.<br>
2. If the meeting request is Out of Policy, see if the user has rights to create an Out of Policy request and if so, forward it to the Delegates.<br>
3. If it is In Policy, then either book it or forward it to the delegate based on the settings.<br>
4. Lastly the RBA does the configured Post Processing steps to format the meeting (delete attachments, rename meeting, etc.)<br>


When the RBA receives a Meeting Request, the first thing that it will do is to determine if the meeting is in or out of policy. How does the RBA do this? The RBA compares the Meeting properties to the Policy Configuration. If all the checks 'pass', then the meeting request is In Policy, otherwise it is Out of Policy.

Expand Down