我尝试使用'代表发送'邮箱的权利。如果只有一个帐户,则结果很好,但是当有多个帐户时,这些值会连接成一个字符串,默认分隔符为空格。即使我使用split with line-feed作为分隔符,它仍然被视为由换行分隔的单个字符串。这是我目前的代码:
get-mailbox "Sales Dept" | select identity,displayname,@{l='SendOnBehalfOf';e={$_.GrantSendOnBehalfTo -join "`n"}}
无论我使用拆分还是加入,我都会不断获得此输出的变体:
Identity Displayname SendOnBehalfOf
domain\Sales Dept Sales Dept User1
User2
User3
User4
但我需要的是每个用户都是这样的:
Identity Displayname SendOnBehalfOf
domain\Sales Dept Sales Dept User1
domain\Sales Dept Sales Dept User2
domain\Sales Dept Sales Dept User3
domain\Sales Dept Sales Dept User4
我如何得到它?
答案 0 :(得分:1)
由于您的SendOnBehalfOf
属性条目最多,因此您要迭代它:
#Requires -Version 4
Get-MailBox 'Sales Dept' -PipelineVariable 'Sales' |
ForEach-Object -MemberName 'GrantSendOnBehalfTo' |
Select-Object -Property @(
@{N = 'Identity'; E = { $Sales.Identity }}
@{N = 'DisplayName'; E = { $Sales.DisplayName }}
@{N = 'SendOnBehalfOf'; E = { $_ }}
)