Articles in the "Mailbox Delegate Management" series
- Super duper delegate retrieval script
- PowerShell module for managing Exchange mailbox delegates
- Small update to delegate management module
- Delegate management module updated to v1.3.5
- Delegate management module updated to support Exchange Online
- Delegate management module updated to v1.4.5 [This article]
- Delegate management module updated to 1.4.6
The module has been updated mostly for fixing issues when working with Exchange Online. The first version that supported it didn’t account account for object properties that are different compared to on-premises, as well as how to get user information. These are the changes in this version:
- Fixed when using a default connection mode of EXO so that the rest of the module knows it.
- Added option to not use autodiscover when using EXO since those lookups can sometimes add a lot of time to the cmdlets running. If default mode is EXO and you don’t want to use autodiscover, uncomment that line below the default mode. If using EXO on-demand, you can set the option with the DoNotUseAutodiscover switch parameter of Set-DelegateManagementMode. (The cmdlet’s help has been updated to reflect this.)
- Added usage of the Azure Active Directory module when using EXO mode. This means you need to have the WAAD module installed to work against Exchange Online. Since that module is 64-bit only, you can only run the delegate management module in a 64-bit PowerShell session.
- Fixed (hopefully and finally) the Write-Progress prompt that some people were getting that interrupted the cmdlets. (Thanks, Jim.)
- Fixed getting Send As permission in EXO due to it using a different cmdlet.
- Fixed getting folder permissions in EXO due to the object properties being different.
- Added removal of Deleted Items and Sent Items folder permissions when removing a delegate.
There are other things I have discovered need fixing: Exchange cmdlets loaded by the module are not accessible outside of the module; Exchange cmdlet errors are not caught in PowerShell 4 so the module cmdlets keep running after a terminating error would be detected if running in PowerShell 2; if multiple objects are pipelined to Get-MailboxDelegate and one of them does not have a mailbox, the cmdlet terminates without processing the remaining objects in the pipeline.
I also still intend to add support for hybrid mode. It is more complicated, though, such as with adding delegates since I need to account for attempts at cross-premises delegation, which isn’t supported.
DelegateManagement.zip (7.6 KiB)