Descobrir objetos

Concluído

Quando um cmdlet é executado, ele retorna um objeto. Quando você invoca um cmdlet, a resposta exibida foi formatada e pode não representar necessariamente todas as informações disponíveis para a resposta. Para saber mais sobre o que está sendo retornado e como você pode modificar o que é retornado, você pode usar o comando Get-Member.

Descobrir objetos usando Get-Member

O Get-Member cmdlet deve ser canalizado sobre o comando executado para que você possa filtrar a saída. Uma invocação de linha de comando típica de Get-Member pode se parecer com o exemplo a seguir:

Get-Process -Name 'name-of-process' | Get-Member

Este comando primeiro produz um resultado de objeto chamando Get-Process. Esse resultado é passado como uma entrada usando Get-Member o tubo (|). Em troca, você obtém um resultado de tabela que inclui as Namecolunas , MemberTypee Definition . Você também obtém o tipo do objeto retornado.

Gorjeta

Para obter uma lista dos processos em execução na sua máquina, execute Get-Process.

Pesquisa por tipo

A primeira linha da resposta, executando o comando, é o Get-Member tipo do objeto retornado. Quando você conhece o tipo, pode procurar outros cmdlets que operam no mesmo tipo. Explore estes comandos relacionados para desenvolver rapidamente o seu conhecimento no domínio em que está a trabalhar.

Digamos que você invocou o comando PowerShell que lista todos os membros para um processo específico. As primeiras linhas do resultado são parecidas com esta saída:

  TypeName: System.Diagnostics.Process

Name                       MemberType     Definition
----                       ----------     ----------
Handles                    AliasProperty  Handles = Handlecount

A primeira linha indica que o tipo é System.Diagnostics.Process. Use esse tipo como um argumento de pesquisa para procurar outros cmdlets que usam esse tipo. Aqui está um comando de exemplo:

Get-Command -ParameterType Process

O resultado é uma lista de cmdlets que operam nesse tipo. Pouco a pouco, você pode aprender mais sobre o PowerShell usando Get-Member e aprendendo a interpretar seu resultado.

Gorjeta

O PowerShell deve ser aprendido um pouco de cada vez. Uma ótima maneira de descobrir cmdlets relacionados é usando o tipo retornado para pesquisar cmdlets por tipo.

Filtrar um resultado Get-Member usando Select-Object

Quando você executa Get-Member, o resultado é detalhado. Ou seja, muitas linhas são devolvidas. O objeto pode ter propriedades, como eventos e métodos. Para tornar a resposta menos detalhada, você pode filtrar colunas específicas e também decidir quais colunas exibir. Lembre-se de que a resposta retornada já é um subconjunto de todas as colunas da resposta.

Dê uma olhada em uma Get-Member resposta que inclui muitas colunas. Ao introduzir o Select-Object cmdlet, você pode escolher quais colunas aparecem na resposta. O comando espera uma lista separada por vírgulas de nomes de colunas ou um caractere curinga, como um asterisco (*), que indica todas as colunas.

Ao usar o Select-Object comando no contexto do Select-Object Name, MemberType, você especifica apenas as colunas desejadas. Neste caso, as colunas são Name e MemberType. A linha de comando ficaria assim:

Get-Process -Name 'name-of-process' | Get-Member | Select-Object Name, MemberType

Esse padrão de filtragem retorna uma saída que inclui menos colunas. Aqui está um exemplo do resultado:

Name                           MemberType
----                           ----------
Handles                     AliasProperty

Você também pode filtrar a resposta por linhas. Por exemplo, você pode usar o sinalizador para especificar que está interessado nas linhas nas quais o -MemberType Method tipo de membro é um método. Talvez você queira mostrar apenas linhas específicas, por exemplo, se quiser localizar e executar um método específico.

Gorjeta

Geralmente, é melhor usar cmdlets dedicados do que executar métodos em um objeto.