首页 > 解决方案 > 如何通过多个管道传递对象/值?

问题描述

Get-Mailbox username例如让我获得用户的“显示名称”。 Get-MailboxRegionalConfiguration给我一些更多的信息。

我想用

PS> 获取邮箱用户名 | 获取邮箱区域配置

身份语言 DateFormat TimeFormat TimeZone
-------- -------- ---------- ---------- --------
                     en-US M/d/yyyy h:mm tt W. 欧洲标准时间

我还需要Displayname来自Get-Mailbox. 我可以用管道做到这一点吗?

到目前为止,我必须使用 foreach 并希望避免这种情况:

$MBs = Get-Mailbox -ResultSize Unlimited 

foreach ($MB in $MBs) { 
    $Name = $MB.DisplayName 
    $MRC = $MB | Get-MailboxRegionalConfiguration 
    $Lang = $MRC.Language 
    $DF = $MRC.DateFormat 
    $TF = $MRC.TimeFormat 
    $TZ = $MRC.TimeZone
}

标签: powershellpipeline

解决方案


您可以执行以下操作以Get-MailboxRegionalConfiguration使用其他信息扩展对象:

Get-Mailbox -ResultSize Unlimited | ForEach-Object {
    $name = $_.DisplayName
    $_ | Get-MailboxRegionalConfiguration |
        Select-Object *,@{n='DisplayName',e={$name}}
}

推荐阅读