Назад | Перейти на главную страницу

Строковые манипуляции в конвейере

Я собираюсь вытащить часть собственности из конвейера, но не могу этого понять. Если бы я использовал 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]}}

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

Понял.

Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited -Filter {HiddenFromAddressListsEnabled -eq $false} | %{Get-Mobiledevicestatistics -Mailbox $_.Identity} | select @{n='UserName';e={$_.Identity.ToString().split('/')[2]}}