Manipulação de strings no pipeline

3

Eu estou olhando para puxar uma parte de uma propriedade de dentro do oleoduto, mas não consigo entender. Se eu estava usando o ISE ou um arquivo ps1, eu poderia manipular apenas conforme necessário e saída, mas eu preciso que isso seja um forro.

Estou obtendo dispositivos de sincronização ativos em todo o meu domínio, do Exchange 2013 shell.

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

Isso me dará um caminho como resultado, com um tipo de membro "noteproperty". A saída é assim:

contoso.com/User_OU/User_Name/ExchangeActiveSyncDevices/Device

Eu quero retornar apenas User_Name da saída. Se eu fizer uma divisão (em $ identity sendo uma string), e retornar a 3ª posição dessa divisão, eu obtenho o resultado que quero.

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

Como eu incorporaria isso ao pipeline?

    
por soMuch2Learn 24.02.2017 / 04:11

1 resposta

2

Entendi.

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