web-dev-qa-db-ja.com

パイプラインでの文字列操作

プロパティの一部をパイプライン内から引き出すことを検討していますが、取得できないようです。 ISEまたはps1ファイルを使用している場合は、必要に応じて操作して出力することができますが、これを1つのライナーにする必要があります。

Exchange 2013 Shellから、ドメイン全体でActive Syncデバイスを取得しています。

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
soMuch2Learn

とった。

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