Как я могу передать объекты / значения через несколько каналов? - PullRequest
0 голосов
/ 07 февраля 2019

Get-Mailbox username получает мне, например, "Displayname" пользователя.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 голосов
/ 07 февраля 2019

Вы можете сделать что-то подобное, чтобы расширить объекты с Get-MailboxRegionalConfiguration с помощью дополнительной информации:

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