如何通过多个管道传递对象/值?

时间:2019-02-07 12:56:36

标签: powershell pipeline

Get-Mailbox username例如让我获得用户的“显示名”。 Get-MailboxRegionalConfiguration为我提供了更多信息。

我要使用

PS> Get-Mailbox username | Get-MailboxRegionalConfiguration

Identity             Language        DateFormat TimeFormat TimeZone
--------             --------        ---------- ---------- --------
                     en-US           M/d/yyyy   h:mm tt    W. Europe Standard Time

,我还需要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
}

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作以扩展Get-MailboxRegionalConfiguration中的对象,并提供其他信息:

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