Powershell - Select-object mantendo as mesmas colunas no script

2

OK. Eu estou apenas desenhando um espaço em branco aqui ou estou perdendo algo óbvio. Em um script do Powershell (V3), eu estou chamando

Get-ADUser -Filter 'SAMAccoutnName -like $ADUserName' -Properties Name,SamAccountName,EmailAddress | Select-Object Name, SamAccountName, EmailAddress

Relaciona os dados no formato de coluna que eu esperaria

Name           SamAccountName          EmailAddress
------         ---------------         ------------
User Name      username                [email protected]

Esse não é o problema. Quando eu chamo um comando diferente depois disso no script (Exchange 2013, na verdade)

Get-Mailbox -Identity username | Select-Object Name, SAMAccountName, PrimarySMTPAddress

Eu só obtenho as colunas correspondentes do Select-Object anterior sem cabeçalhos:

User Name     username

Mesmo que eu peça especificamente um conjunto diferente como "PrimarySMTPAddress" acima.

O que estou perdendo aqui? Isso está me deixando louco.

Obrigado antecipadamente.

    
por Jason 19.09.2013 / 00:25

1 resposta

1

O problema aqui é o fato de que se você executar o objeto selecionado como um último cmdlet no pipeline com um conjunto diferente de propriedades, o PowerShell não chamará "implicitamente" Out-Default para cada comando, por isso não "redefinirá" formatação.

Mas o que não é feito implicitamente, sempre pode ser feito explicitamente. Apenas envie qualquer comando (talvez exceto o último) para Out-Default :

ls | select Name | Out-Default
ls | select DirectoryName
    
por 19.09.2013 / 20:33