Como Mostrar Todas as Propriedades de um Objeto PowerShell

  1. Use Get-WmiObject para Mostrar Todas as Propriedades de um Objeto PowerShell
  2. Recuperar a Informação da Instância/Objeto da Classe
  3. Use o Cmdlet Format-List para Exibir Propriedades
  4. Conclusão
Como Mostrar Todas as Propriedades de um Objeto PowerShell

Existem requisitos para encontrar informações sobre a máquina Windows e seus componentes, como rede, aplicativos e serviços. O Modelo Comum de Informação (CIM) é um padrão de código aberto para manipular esses componentes e suas informações.

A Microsoft implementou seu padrão sobre o CIM chamado Instrumentação de Gerenciamento do Windows (WMI) para consultar e manipular informações de computador, serviço e rede.

Use Get-WmiObject para Mostrar Todas as Propriedades de um Objeto PowerShell

O cmdlet Get-WmiObject é uma ferramenta poderosa, especialmente para tarefas de administração e gerenciamento de sistema. Ele permite o acesso a dados da Instrumentação de Gerenciamento do Windows (WMI), que inclui uma riqueza de informações sobre o sistema, como detalhes sobre hardware, software instalado, configuração de rede e muito mais.

Uma das capacidades menos conhecidas, mas potentes, do Get-WmiObject é usar o parâmetro -List. Esta opção permite que os usuários recuperem uma lista de todas as classes WMI dentro de um namespace especificado.

A sintaxe básica de Get-WmiObject -List é:

Get-WmiObject -List [-Namespace <String>] [-ComputerName <String>]

Os principais parâmetros incluem:

  • -Namespace <String>: Especifica o namespace do repositório WMI. O padrão é root\cimv2, que contém a maioria das classes WMI comumente usadas.
  • -ComputerName <String>: Destina-se a um computador remoto. Sem este parâmetro, o cmdlet opera na máquina local.

Portanto, o processo de gerenciamento do sistema Windows se torna muito mais fácil. Vamos verificar as classes disponíveis usando o cmdlet Get-WmiObject.

Get-WmiObject -List

Este comando irá retornar todas as classes disponíveis no namespace padrão da sua máquina local. O namespace padrão é ROOT\cimv2 no computador Windows.

Saída:

Get-WmiObject

É possível especificar um namespace diferente do padrão (ROOT\cimv2). Podemos usar o parâmetro -Namespace para alterar o namespace padrão.

Get-WmiObject -Namespace <custom_namespace>

Recuperar a Informação da Instância/Objeto da Classe

O uso de Get-WmiObject -Class é principalmente para recuperar informações detalhadas sobre um aspecto particular do sistema. Por exemplo, consultar a classe Win32_Processor fornece informações sobre o processador, enquanto Win32_OperatingSystem revela detalhes sobre o sistema operacional.

O parâmetro -Class deste cmdlet permite que os usuários consultem classes específicas dentro do repositório WMI, que são essencialmente modelos para os objetos que representam informações do sistema. Essas classes cobrem uma ampla gama de dados, desde detalhes de hardware até configurações.

Sintaxe:

Get-WmiObject -Class <String> [-Namespace <String>] [-ComputerName <String>]

Os principais parâmetros incluem:

  • -Class <String>: Especifica a classe WMI para a qual as informações são necessárias.
  • -Namespace <String>: Opcional. Especifica o namespace do repositório WMI (o padrão é root\cimv2).
  • -ComputerName <String>: Opcional. Direciona o comando para um computador remoto.

Existem centenas de classes WMI disponíveis para uso. Podemos recuperar a informação para uma classe específica, como mostrado a seguir.

Get-WmiObject -Class Win32_computersystem

Aqui, estamos recuperando informações para a classe Win32_computersystem. Ele retorna o objeto Win32_computersystem com suas propriedades, que contém todas as informações sobre o sistema computacional, conforme mostrado a seguir.

Get-WmiObject -Class

Há um número limitado de propriedades exibidas na saída. O objeto Win32_computersystem contém mais propriedades do que essas.

Podemos usar o cmdlet Format-List para exibir todas as propriedades de um objeto recuperado.

Use o Cmdlet Format-List para Exibir Propriedades

O Format-List pode ser encadeado com a saída de outro comando para formatar os resultados. Este cmdlet pode exibir as propriedades especificadas ou todas as propriedades de um objeto WMI recuperado em um formato legível.

Sintaxe:

Get-WmiObject -Class Win32_computersystem | Format-List -Property Name, Model, Manufacturer

Vamos especificar algumas propriedades para a instância Win32_computersystem.

  • Format-List [-Property <PropertyName[]>]: Formata a saída como uma lista.
  • -Property <PropertyName[]>: (Opcional) Especifica as propriedades a serem exibidas. Se omitido, todas as propriedades são mostradas.

Saída:

Formatar-Lista

O Get-WmiObject retorna as propriedades padrão para o objeto Win32_computersystem. Em seguida, a saída será passada através do operador de pipeline (|) para o comando Format-List.

Podemos passar o parâmetro -Property para o cmdlet Format-List. Isso filtrará a saída final com as três propriedades fornecidas.

Às vezes, é importante verificar todas as propriedades e valores disponíveis para um objeto WMI específico. Nesse caso, você precisa usar -Property * para recuperar todas as propriedades disponíveis e seus valores.

O * indica todas as propriedades.

Get-WmiObject -Class Win32_computersystem | Format-List -Property *

Saída:

Formatar-Lista -Propriedade

A saída contém todas as propriedades e os valores disponíveis para o objeto Win32_computersystem. Podemos omitir o parâmetro -Property no comando acima e escrevê-lo.

Get-WmiObject -Class Win32_computersystem | Format-List *

O comando acima deve exibir a mesma saída que acima.

Conclusão

Nesta exploração do Get-WmiObject do PowerShell, descobrimos seu papel fundamental no gerenciamento de sistemas Windows. O parâmetro -List capacita os usuários a enumerar todas as classes WMI, auxiliando na identificação de fontes de dados relevantes.

Concentrando-se em -Class, demonstramos sua precisão na recuperação de informações detalhadas do sistema, exemplificado com Win32_ComputerSystem. A adição de Format-List aprimora a legibilidade da saída, o que é crucial ao lidar com listas extensas de propriedades.

Para aprofundar seu conhecimento, mergulhe em várias classes WMI como Win32_Processor ou Win32_OperatingSystem. Incorporar Get-WmiObject em scripts pode agilizar as tarefas de gerenciamento do sistema.

Como uma ferramenta versátil, o Get-WmiObject atende tanto iniciantes quanto usuários experientes, epitomizando sua importância no PowerShell para diversas tarefas de TI e automação.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

Artigo relacionado - PowerShell Object