[英]Powershell: Get-Mailbox, split multi-value GrantSendOnBehalfTo to its' own line
我正在尝试对具有“代表发送”权限的邮箱的用户运行报告。 如果只有一个帐户,则结果很好,但是如果有多个帐户,则将值连接到单个字符串中,默认分隔符为空格。 即使当我将split与换行符用作分隔符时,它仍被视为由换行符分隔的单个字符串。 这是我当前的代码:
get-mailbox "Sales Dept" | select identity,displayname,@{l='SendOnBehalfOf';e={$_.GrantSendOnBehalfTo -join "`n"}}
无论我使用split还是join,我都会不断得到以下输出:
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
我怎么得到的?
由于您的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 = { $_ }}
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.