Seleciona as propriedades especificadas de um objeto ou conjunto de objetos. Ele também pode selecionar objetos exclusivos de uma matriz de objetos ou pode selecionar um número especificado de objetos do início ou do final de uma matriz de objetos.

Sintaxe

Select-Object [[-Property] <Object[]>] [-ExcludeProperty <string[]>] [-ExpandProperty <string>] [-First <int>] [-InputObject <psobject>] [-Last <int>] [-Skip <int>] [-Unique] [<CommonParameters>]

Select-Object [-Index <Int32[]>] [-InputObject <psobject>] [-Unique] [<CommonParameters>]

Descrição

O cmdlet Select-Object obtém apenas as propriedades especificadas de um objeto ou de um conjunto de objetos. Ele também pode selecionar objetos exclusivos de uma matriz de objetos ou pode selecionar um número especificado de objetos do início ou do final de uma matriz de objetos.

Se você usar Select-Object para selecionar propriedades especificadas, ele copiará os valores dessas propriedades a partir dos objetos de entrada e criará novos objetos que tenham as propriedades especificadas e os valores copiados.

Use o parâmetro Property para especificar as propriedades que você deseja selecionar. Ou use os parâmetros First, Last, Unique, Skip e Index para selecionar determinados objetos de qualquer matriz de objetos de entrada. Para obter uma filtragem de objetos mais específica, use o cmdlet Where-Object.

Parâmetros

-ExcludeProperty <string[]>

Remove as propriedades especificadas da seleção. Os caracteres curinga são permitidos. Esse parâmetro só é efetivo quando o comando também inclui o parâmetro Property.

O valor do parâmetro de propriedade pode ser uma propriedade calculada, que é uma tabela de hash que especifica um nome e calcula um valor para a exibição da propriedade. As chaves válidas são:

-- Name ou Label <cadeia de caracteres>

-- Expression <cadeia de caracteres> ou <bloco de script>

Para obter mais informações, consulte os exemplos.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

true

-ExpandProperty <string>

Especifica uma propriedade a ser selecionada e indica que uma tentativa deve ser realizada para expandir essa propriedade. São permitidos caracteres curinga no nome da propriedade.

Por exemplo, se a propriedade especificada for uma matriz, cada valor da matriz será incluído na saída. Se a propriedade contiver um objeto, as propriedades desse objeto serão exibidas na saída.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

true

-First <int>

Especifica o número de objetos a serem selecionados no início de uma matriz de objetos de entrada.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-Index <Int32[]>

Seleciona objetos de uma matriz com base nos seus valores de índice. Digite os índices em uma lista separada por vírgulas.

Índices em uma matriz começam com 0, em que 0 representa o primeiro valor e (n-1) representa o último valor.

Necessário?

false

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-InputObject <psobject>

Especifica os objetos a serem enviados ao cmdlet pelo pipeline. Esse parâmetro permite canalizar objetos para Select-Object.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

true (ByValue)

Aceitar caracteres curinga?

false

-Last <int>

Especifica o número de objetos a serem selecionados no final de uma matriz de objetos de entrada.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-Property <Object[]>

Especifica as propriedades a serem selecionadas. Os caracteres curinga são permitidos.

O valor do parâmetro Property pode ser uma nova propriedade calculada. Para criar uma propriedade calculada, use uma tabela de hash. As chaves válidas são:

-- Name (ou Label) <cadeia de caracteres>

-- Expression <cadeia de caracteres> ou <bloco de script>

Necessário?

false

Posição?

1

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

true

-Skip <int>

Ignora (não seleciona) o número especificado de itens. Por padrão, o parâmetro Skip conta a partir do início da matriz ou lista de objetos, mas se o comando usar o parâmetro Last, ele contará a partir do final da lista ou matriz.

Ao contrário do parâmetro Index, que inicia a contagem a partir de 0, o parâmetro Skip inicia em 1.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-Unique

Especifica que se um subconjunto dos objetos de entrada tiver propriedades e valores idênticos, somente um único membro do subconjunto será selecionado.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

<CommonParameters>

Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.

Entradas e saídas

O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.

Entradas

System.Management.Automation.PSObject

Você pode canalizar qualquer objeto para Select-Object.

Saídas

System.Management.Automation.PSObject

Observações

Você também pode se referir a Select-Object usando seu alias interno, "select". Para obter mais informações, consulte about_Aliases.

Exemplo 1

C:\PS>get-process | select-object ProcessName,Id,WS

Descrição
-----------
Este comando exibe uma lista dos processos. Somente as propriedades Name, ID e Working Set (WS) dos processos são exibidas.






Exemplo 2

C:\PS>get-process | select-object processname -expandproperty modules |
format-list

ProcessName       : 00THotkey
Size              : 256
Company           : TOSHIBA Corporation
FileVersion       : 1, 0, 0, 27
ProductVersion    : 6, 2, 0, 0
Description       : THotkey
Product           : TOSHIBA THotkey
ModuleName        : 00THotkey.exe
FileName          : C:\WINDOWS\system32\00THotkey.exe
BaseAddress       : 4194304

Descrição
-----------
Este comando exibe informações sobre os módulos usados pelos processos em execução em um computador. Ele usa o parâmetro ExpandProperty para exibir os detalhes contidos na propriedade dos módulos.






Exemplo 3

C:\PS>get-process | sort-object -property WS | select-object -Last 5

Handles  NPM(K)    PM(K)      WS(K) VS(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
   2866     320    33432      45764   203   222.41   1292 svchost
    577      17    23676      50516   265    50.58   4388 WINWORD
    826      11    75448      76712   188    19.77   3780 Ps
   1367      14    73152      88736   216    61.69    676 Ps
   1612      44    66080      92780   380   900.59   6132 INFOPATH

Descrição
-----------
Esse comando exibe os cinco processos que estão usando a maior parte da memória. O cmdlet Sort-Object é utilizado para classificar os processos de acordo com o uso da memória (conjunto de trabalho); o cmdlet Select-Object é utilizado para selecionar somente os últimos cinco membros da matriz resultante de objetos.






Exemplo 4

C:\PS>get-process | select-object -property ProcessName,@{Name="Start Day"; Expression = {$_.StartTime.DayOfWeek}}

ProcessName  StartDay
----         --------
alg          Wednesday
ati2evxx     Wednesday
ati2evxx     Thursday
...

Descrição
-----------
Este comando exibe o nome e o dia de início dos processos em execução em um computador. 

Os valores do parâmetro Property são ProcessName e uma propriedade calculada denominada "Start Day". A propriedade "Start Day" é adicionada usando uma tabela de hash com as chaves Name e Expression.






Exemplo 5

C:\PS>"a","b","c","a","a","a" | select-object -unique

a
b
c

Descrição
-----------
Este comando exibe caracteres exclusivos de uma matriz de caracteres.






Exemplo 6

C:\PS>$a = get-eventlog -log "Windows PowerShell" 

C:\PS> $a | select-object -index 0, ($a.count - 1)

Descrição
-----------
Esses comandos obtêm o primeiro (mais recente) e o último (mais antigo) eventos no log de eventos do Windows PowerShell. 

O primeiro comando usa o cmdlet Get-EventLog para obter todos os eventos no log de eventos do Windows PowerShell. Ele salva os eventos na variável $a.

O segundo comando usa um operador de pipeline (|) para enviar os eventos em $a para o Select-Object. O comando Select-Object usa o parâmetro Index para selecionar itens por seu número de índice. O índice do primeiro evento é 0. O índice do último evento é o número de itens em $a menos 1.






Exemplo 7

C:\PS>new-pssession -computername (get-content servers.txt | select-object -skip 1)

Descrição
-----------
Esse comando cria um novo PSSession em cada um dos computadores listados nos arquivos Servers.txt, com exceção do primeiro.

Esse comando usa o cmdlet Select-Object para selecionar todos menos o primeiro computador em uma lista de nomes de computador. A lista resultante de computadores é definida como o valor do parâmetro ComputerName do cmdlet New-PSSession.






See Also




Sumário