Манипуляции со строкой в ​​конвейере

Я собираюсь извлечь часть свойства из конвейера, но я не могу получить Это. Если бы я использовал ISE или файл ps1, я мог бы просто манипулировать по мере необходимости и выводить, но мне нужно, чтобы это было однострочным.

Я извлекаю активные устройства синхронизации в своем домене из оболочки Exchange 2013.

Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited -Filter {HiddenFromAddressListsEnabled -eq $false} | %{Get-Mobiledevicestatistics -Mailbox $_.Identity} | select Identity 

Это даст мне путь, подобный результату, с типом члена "noteproperty". Вывод выглядит следующим образом:

contoso.com/User_OU/User_Name/ExchangeActiveSyncDevices/Device

Я хочу вернуть только User_Name из вывода. Если я делаю разделение (если $ identity является строкой) и возвращаю 3-ю позицию этого разделения, я получаю желаемый результат.

{$identity.split('/')[2]}}

Как мне включить это в конвейер?

3
задан 24 February 2017 в 05:11
1 ответ

Понятно.

Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited -Filter {HiddenFromAddressListsEnabled -eq $false} | %{Get-Mobiledevicestatistics -Mailbox $_.Identity} | select @{n='UserName';e={$_.Identity.ToString().split('/')[2]}}
2
ответ дан 3 December 2019 в 06:56

Теги

Похожие вопросы