Multi-valued attributes have a special significance in AD, and interfaces/APIs used to access AD. Whereas single-valued attributes can be retrieved and updated quite easily, multi-valued attributes come with a twist. Values from a multi-valued attribute are returned as an array (of values). To evaluate values in a multi-valued attribute, you need to iterate through each one (using a foreach loop in most cases). Similarly, when updating a multi-valued attribute, we need to remember we're adding/updating one value of what could possibly be multiple items in an array.
With that out of the way, a real-word experience relates to how these values are listed in Exchange shell cmdlet output. For instance, the BypassedSenders property of ContentFilterConfig may have a few dozen safe senders that you do not want to subject to the Content Filter. If you list these bypassed senders using Get-ContentFilterConfig, the output will list a few bypassed senders. Note the trailing dots to indicate there are more values?
Using a format-list or fl (Get-ContentFilterConfig |select BypassedSenders | fl) doesn't help.
BypassedSenders and Safelist Aggregation
The Content Filter Agent does not filter messages from addresses on its BypassedSenders property, regardless of the recipient. This should not be confused with a recipient's Safe Senders list (used by the Safelist Aggregation feature) to bypass mail for a recipient from the senders he/she adds to Safe Senders list in Microsoft Outlook. CFA's BypassedSenders is global in scope.
$senders = (Get-ContentFilterConfig).BypassedSenders; $sendersAlternatively, you can list them without adding them to a hash table ($senders in above example):
Similarly, multiple IP addresses or address ranges in a Receive Connector's RemoteIPRanges property:
(Get-ReceiveConnector "MyConnector").RemoteIPRangesor formatted as a table with the required info:
(Get-ReceiveConnector "MyConnector").RemoteIPRanges | ft Lowerbound,Upperbound,RangeFormat -AutoSize
- HOW TO Update multi-valued attributes in PowerShell
- HOW TO: Remove values from multi-valued properties using Exchange shell