Geek School: Usando o PowerShell para obter informações sobre o computador

Índice:

Geek School: Usando o PowerShell para obter informações sobre o computador
Geek School: Usando o PowerShell para obter informações sobre o computador

Vídeo: Geek School: Usando o PowerShell para obter informações sobre o computador

Vídeo: Geek School: Usando o PowerShell para obter informações sobre o computador
Vídeo: AUTENTICAÇÃO DE 2 FATORES - CUIDADOS PARA NÃO PERDER A CONTA - APPLEID/ICLOUD - APPLE SUPORTE - YouTube 2024, Maio
Anonim
O WMI e seu irmão mais recente, CIM, podem ser usados para gerenciar as máquinas Windows em seu ambiente. Mas você sabe a diferença entre eles? Junte-se a nós enquanto damos uma olhada.
O WMI e seu irmão mais recente, CIM, podem ser usados para gerenciar as máquinas Windows em seu ambiente. Mas você sabe a diferença entre eles? Junte-se a nós enquanto damos uma olhada.

Não deixe de ler os artigos anteriores da série:

  • Aprenda a automatizar o Windows com o PowerShell
  • Aprendendo a usar cmdlets no PowerShell
  • Aprendendo a usar objetos no PowerShell
  • Aprendendo a formatar, filtrar e comparar no PowerShell
  • Aprenda a usar o Remoting no PowerShell

E fique ligado para o resto da série durante toda a semana.

Introdução

WMI significa Instrumentação de Gerenciamento do Windows. A palavra “Instrumentação” refere-se ao fato de que o WMI permite obter informações sobre o estado interno do computador, da mesma forma que os instrumentos do painel do seu carro podem recuperar e exibir informações sobre o estado dos componentes internos do seu carro.

O WMI consiste em um repositório que contém classes que representam componentes que podem ser gerenciados dentro de sua máquina. Com isso, queremos dizer apenas porque o WMI tem uma classe Win32_Battery, não significa que sua máquina contenha uma bateria. Essas classes podem então ser consultadas para obter informações localmente ou até mesmo através de uma rede usando uma linguagem de consulta muito semelhante ao SQL chamado WQL. No entanto, sabe-se que o WMI não é muito confiável, principalmente devido ao fato de ser baseado em RPC (chamadas de procedimento remoto), que fazem algumas coisas malucas com as portas que eles escolhem para se comunicar.

A partir do Windows 8 e do Server 2012, o WMI está sendo desativado em favor do Common Information Model ou do CIM. A única diferença entre o WMI e o CIM são os protocolos de transporte que eles usam. Enquanto o WMI realiza consultas usando as chamadas de procedimento remoto, o CIM usa HTTP, o que parece fazer uma enorme diferença. No backend eles ainda estão falando com o mesmo repositório de informações.

Usando o WMI

A maneira mais rápida e fácil de explorar as informações disponíveis para você via WMI é obter uma cópia de qualquer navegador de objetos WMI gratuito. Nós gostamos desse aqui. Uma vez baixado, acione-o e você terá uma interface gráfica para navegar nas Classes WMI.

Se você quiser descobrir algo sobre a configuração de disco de um computador, pressione a combinação de teclas Ctrl + F para exibir uma caixa de pesquisa, digite "logicaldisk" e pressione Enter.
Se você quiser descobrir algo sobre a configuração de disco de um computador, pressione a combinação de teclas Ctrl + F para exibir uma caixa de pesquisa, digite "logicaldisk" e pressione Enter.
Na metade inferior do aplicativo, você pode ver que temos duas instâncias da classe.
Na metade inferior do aplicativo, você pode ver que temos duas instâncias da classe.
Quando tivermos a classe que estamos procurando, consultá-la no PowerShell é direto.
Quando tivermos a classe que estamos procurando, consultá-la no PowerShell é direto.

Get-WmiObject -Query “SELECT * FROM Win32_LogicalDisk”

Eu não vejo essa sintaxe há algum tempo com pessoas que atualmente preferem usar a nova sintaxe parametrizada.
Eu não vejo essa sintaxe há algum tempo com pessoas que atualmente preferem usar a nova sintaxe parametrizada.

Get-WmiObject –Class Win32_LogicalDisk

Se você deseja obter as informações de outro computador em sua rede, basta usar o parâmetro ComputerName.
Se você deseja obter as informações de outro computador em sua rede, basta usar o parâmetro ComputerName.

Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper –Credential viperadministrator

Image
Image

Usando o CIM

Tendo em mente que o CIM está disponível apenas no Windows 8 e Server 2012, seguir em frente é definitivamente o caminho a ser seguido.

Get-CimInstance –ClassName Win32_LogicalDisk

Também há conclusão de tabulação para o parâmetro –ClassName ao usar o Get-CimInstance, que mostra que daqui para frente esse é o foco dos esforços da Microsoft.
Também há conclusão de tabulação para o parâmetro –ClassName ao usar o Get-CimInstance, que mostra que daqui para frente esse é o foco dos esforços da Microsoft.

Na verdade, o WMI foi desenvolvido por uma equipe completamente separada dentro da Microsoft, mas foi subsequentemente assumido pelo pessoal responsável pelo PowerShell. Eles foram os que perceberam que seria muito difícil limpar a bagunça que o WMI deixou para trás. Na tentativa de remediar a situação, eles estão tentando disponibilizar o WMI e o CIM gravando cmdlets de wrapper que usam o WMI e o CIM sob o capô. A única maneira de verificar se um cmdlet é um wrapper é examinando a documentação. Por exemplo, o cmdlet Get-Hotfix é um wrapper para a classe Win32_QuickFixEngineering, conforme visto na documentação.

Isso significa que você pode obter os hotfixes em máquinas remotas usando o cmdlet Get-HotFix em vez de uma Consulta WMI.
Isso significa que você pode obter os hotfixes em máquinas remotas usando o cmdlet Get-HotFix em vez de uma Consulta WMI.

Get-HotFix –ComputerName localhost

Recomendado: