From a8af922bdb24ef4adccd198c40c750c3806ce33a Mon Sep 17 00:00:00 2001 From: Shane Ferrell Date: Tue, 25 Jul 2023 08:54:58 -0700 Subject: [PATCH 1/7] Update list in doc --- docs/Calendar/Get-RBASummary.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/Calendar/Get-RBASummary.md b/docs/Calendar/Get-RBASummary.md index 3a1d43cadb..c7f45b0ac4 100644 --- a/docs/Calendar/Get-RBASummary.md +++ b/docs/Calendar/Get-RBASummary.md @@ -1,4 +1,4 @@ -# Get-RBASummary +# Get-RBASummary Download the latest release: [Get-RBASummary.ps1](https://github.com/microsoft/CSS-Exchange/releases/latest/download/Get-RBASummary.ps1) @@ -14,17 +14,17 @@ Example to display the setting of room mailbox. ```PowerShell .\Get-RBASummary.ps1 -Identity Room1@Contoso.com -.\Get-RBASummary.ps1 -Identity Room1@Contoso.com -Verbose +.\Get-RBASummary.ps1 -Identity Room1 -Verbose ``` -Here are the high-level steps for RBA processing: -1. Determine if the Meeting Request is in policy or out of policy. -2. If the meeting request is Out of Policy, see if the user has rights to create out of policy request and if so, forward it to the Delegates. -3. If it is In Policy, then either book it or forward it to the delegate based on the settings. -4. Lastly the RBA does the configured Post Processes the meeting format (delete attachments, rename meeting, etc.) +High-level steps for RBA processing:
+1. Determine if the Meeting Request is in policy or out of policy.
+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.
+3. If it is In Policy, then either book it or forward it to the delegate based on the settings.
+4. Lastly the RBA does the configured Post Processing steps to format the meeting (delete attachments, rename meeting, etc.)
-So, the first thing that RBA does is to look if the meeting is in or out of policy. How does it do this? It looks at the Policy Configurations that are setup. If they all 'pass', then the meeting request is In Policy, otherwise it is Out of Policy. +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. Whether the meeting is in or out of policy, the RBA will look up the configuration that will tell it what to do with the meeting. By default, all out of policy meetings are rejected, and all in policy meetings are accepted, but there is a larger range of customization that you can do to get the RBA to treat this resource the way you want it to. -If the meeting is accepted, the RBA will do some Post Processing on it based on the rule’s setup. +If the meeting is accepted, the RBA will Post Process it based on the Post Processing configuration. From 0a8132658de43ffac9b7a888f7ac8f1b2f32b976 Mon Sep 17 00:00:00 2001 From: Shane Ferrell Date: Tue, 25 Jul 2023 10:35:58 -0700 Subject: [PATCH 2/7] CodeFormatter --- docs/Calendar/Get-RBASummary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Calendar/Get-RBASummary.md b/docs/Calendar/Get-RBASummary.md index c7f45b0ac4..451cda85e3 100644 --- a/docs/Calendar/Get-RBASummary.md +++ b/docs/Calendar/Get-RBASummary.md @@ -1,4 +1,4 @@ -# Get-RBASummary +# Get-RBASummary Download the latest release: [Get-RBASummary.ps1](https://github.com/microsoft/CSS-Exchange/releases/latest/download/Get-RBASummary.ps1) From 047f71e8d43447da136722f3d9744cfeab5d2be5 Mon Sep 17 00:00:00 2001 From: Shane Ferrell Date: Thu, 27 Jul 2023 08:08:58 -0700 Subject: [PATCH 3/7] RBA Script - Add Delegate Rule Check --- Calendar/Get-RBASummary.ps1 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Calendar/Get-RBASummary.ps1 b/Calendar/Get-RBASummary.ps1 index 9bb937c1b4..d8d2b27205 100644 --- a/Calendar/Get-RBASummary.ps1 +++ b/Calendar/Get-RBASummary.ps1 @@ -55,6 +55,17 @@ 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." + $rules = Get-InboxRule -mailbox $Identity -IncludeHidden + if ($rules.Name -like "Delegate Rule*") { + Write-Host -ForegroundColor Red "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." + 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" @@ -451,6 +462,7 @@ function RBAPostScript { # Call the Functions in this order: ValidateMailbox +ValidateInboxRules GetCalendarProcessing EvaluateCalProcessing ProcessingLogic From 24a6b06fe62b61bd180f45939789cdb0dab005f5 Mon Sep 17 00:00:00 2001 From: Shane Ferrell Date: Thu, 27 Jul 2023 10:32:22 -0700 Subject: [PATCH 4/7] List offending rule, update docs --- Calendar/Get-RBASummary.ps1 | 12 +++++++++--- docs/Calendar/Get-RBASummary.md | 4 ++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Calendar/Get-RBASummary.ps1 b/Calendar/Get-RBASummary.ps1 index d8d2b27205..5e45938e30 100644 --- a/Calendar/Get-RBASummary.ps1 +++ b/Calendar/Get-RBASummary.ps1 @@ -57,10 +57,15 @@ function ValidateMailbox { # 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 "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 " is not localized. if ($rules.Name -like "Delegate Rule*") { - Write-Host -ForegroundColor Red "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 -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." @@ -461,8 +466,9 @@ function RBAPostScript { } # Call the Functions in this order: -ValidateMailbox ValidateInboxRules +ValidateMailbox + GetCalendarProcessing EvaluateCalProcessing ProcessingLogic diff --git a/docs/Calendar/Get-RBASummary.md b/docs/Calendar/Get-RBASummary.md index 3a1d43cadb..46f5c87bff 100644 --- a/docs/Calendar/Get-RBASummary.md +++ b/docs/Calendar/Get-RBASummary.md @@ -1,11 +1,11 @@ -# Get-RBASummary +# Get-RBASummary Download the latest release: [Get-RBASummary.ps1](https://github.com/microsoft/CSS-Exchange/releases/latest/download/Get-RBASummary.ps1) 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 funcationality (via the Get-InboxRules cmdlet). Syntax: From a9c26acd36a4670f6261aef34fb7ca575c805de9 Mon Sep 17 00:00:00 2001 From: Shane Ferrell Date: Thu, 27 Jul 2023 10:52:32 -0700 Subject: [PATCH 5/7] Fix order of exicution --- Calendar/Get-RBASummary.ps1 | 3 +-- docs/Calendar/Get-RBASummary.md | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Calendar/Get-RBASummary.ps1 b/Calendar/Get-RBASummary.ps1 index 5e45938e30..59bd01c7e8 100644 --- a/Calendar/Get-RBASummary.ps1 +++ b/Calendar/Get-RBASummary.ps1 @@ -466,9 +466,8 @@ function RBAPostScript { } # Call the Functions in this order: -ValidateInboxRules ValidateMailbox - +ValidateInboxRules GetCalendarProcessing EvaluateCalProcessing ProcessingLogic diff --git a/docs/Calendar/Get-RBASummary.md b/docs/Calendar/Get-RBASummary.md index 46f5c87bff..c4dfd264bf 100644 --- a/docs/Calendar/Get-RBASummary.md +++ b/docs/Calendar/Get-RBASummary.md @@ -1,11 +1,11 @@ -# Get-RBASummary +# Get-RBASummary Download the latest release: [Get-RBASummary.ps1](https://github.com/microsoft/CSS-Exchange/releases/latest/download/Get-RBASummary.ps1) 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 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 funcationality (via the Get-InboxRules 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 funcationality (via the Get-InboxRules cmdlet). Syntax: From 736220b5490a07d968c001ca652c707989885d10 Mon Sep 17 00:00:00 2001 From: Shane Ferrell Date: Thu, 27 Jul 2023 11:03:02 -0700 Subject: [PATCH 6/7] Fix Spelling --- docs/Calendar/Get-RBASummary.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/Calendar/Get-RBASummary.md b/docs/Calendar/Get-RBASummary.md index 21b3d02233..15a56e9a8a 100644 --- a/docs/Calendar/Get-RBASummary.md +++ b/docs/Calendar/Get-RBASummary.md @@ -1,11 +1,11 @@ -# Get-RBASummary +# Get-RBASummary Download the latest release: [Get-RBASummary.ps1](https://github.com/microsoft/CSS-Exchange/releases/latest/download/Get-RBASummary.ps1) 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 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 funcationality (via the Get-InboxRules 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: From aa8d72fbeaa93d1e210595170e333e39a85a0cbd Mon Sep 17 00:00:00 2001 From: Shane Ferrell Date: Thu, 27 Jul 2023 11:45:16 -0700 Subject: [PATCH 7/7] Removed BOM --- docs/Calendar/Get-RBASummary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Calendar/Get-RBASummary.md b/docs/Calendar/Get-RBASummary.md index 15a56e9a8a..817a29ea6a 100644 --- a/docs/Calendar/Get-RBASummary.md +++ b/docs/Calendar/Get-RBASummary.md @@ -1,4 +1,4 @@ -# Get-RBASummary +# Get-RBASummary Download the latest release: [Get-RBASummary.ps1](https://github.com/microsoft/CSS-Exchange/releases/latest/download/Get-RBASummary.ps1)