about_WMI
Breve descrição
O WMI (Instrumentação de Gerenciamento do Windows) usa o CIM (Common Information Model) para representar sistemas, aplicativos, redes, dispositivos e outros componentes gerenciáveis da empresa moderna.
Descrição longa
A Instrumentação de Gerenciamento do Windows (WMI) é a implementação da Microsoft do WBEM (Web-Based Enterprise Management), o padrão do setor.
O WMI clássico usa DCOM para se comunicar com dispositivos em rede para gerenciar sistemas remotos. O Windows PowerShell 3.0 apresenta um modelo de provedor CIM que usa o WinRM para remover a dependência do DCOM. Esse modelo de provedor CIM também usa novas APIs de provedor WMI que permitem que os desenvolvedores escrevam cmdlets do Windows PowerShell em código nativo (C++).
Não confunda provedores WMI com provedores do Windows PowerShell. Muitos recursos do Windows têm um provedor WMI associado que expõe seus recursos de gerenciamento. Para obter provedores WMI, execute uma consulta WMI que obtenha instâncias da classe WMI __Provider , como a consulta a seguir.
Get-WmiObject -Class __Provider
TRÊS COMPONENTES DO WMI
Os três componentes do WMI a seguir interagem com o Windows PowerShell: Namespaces, Provedores e Classes.
Os namespaces WMI organizam provedores WMI e classes WMI em grupos de componentes relacionados. Dessa forma, eles são semelhantes aos namespaces do .NET Framework.
Os namespaces não são locais físicos, mas são mais como bancos de dados lógicos. Todos os namespaces WMI são instâncias da classe de sistema __Namespace. O namespace WMI padrão é root/cimv2
(desde o Microsoft Windows 2000). Para usar o Windows PowerShell para obter namespaces WMI na sessão atual, use um comando com o seguinte formato.
Get-WmiObject -Class __Namespace
Para obter namespaces WMI em outros namespaces, use o parâmetro Namespace para alterar o local da pesquisa. O comando a seguir localiza namespaces WMI que residem no root/cimv2/Applications
namespace.
Get-WmiObject -Class __Namespace -Namespace root/cimv2/applications
Os namespaces WMI são hierárquicos. Portanto, obter uma lista de todos os namespaces em um determinado sistema requer a execução de uma consulta recursiva começando no namespace raiz.
Os Provedores WMI expõem informações sobre objetos gerenciáveis do Windows. Um provedor recupera dados de um componente e passa esses dados pelo WMI para um aplicativo de gerenciamento, como o Windows PowerShell. A maioria dos provedores WMI são provedores dinâmicos, o que significa que eles obtêm os dados dinamicamente quando são solicitados por meio do aplicativo de gerenciamento.
ENCONTRAR CLASSES WMI
Em uma instalação padrão do Windows 8, há mais de 1.100 classes WMI no root/cimv2
. Com tantas classes WMI, o desafio passa a ser identificar a classe WMI apropriada a ser usada para executar uma tarefa específica. O Windows PowerShell 3.0 fornece duas maneiras de localizar classes WMI relacionadas a um tópico específico.
Por exemplo, para localizar classes WMI no root/cimv2
namespace WMI relacionadas a discos, você pode usar uma consulta como a mostrada aqui.
Get-WmiObject -List *disk*
Para localizar classes WMI relacionadas à memória, você pode usar uma consulta como a mostrada aqui.
Get-WmiObject -List *memory*
Os cmdlets CIM também fornecem a capacidade de descobrir classes WMI. Para fazer isso, use o Get-CimClass
cmdlet. O comando mostrado aqui lista as classes WMI relacionadas ao vídeo.
Get-CimClass *video*
A expansão de guias funciona ao alterar namespaces WMI e, portanto, o uso da expansão de guias torna os namespaces sub-WMI facilmente detetáveis. No exemplo a seguir, o cmdlet lista classes Get-CimClass
WMI relacionadas a configurações de energia.
Para localizá-lo, digite o root/cimv2
namespace e pressione a tecla Tab várias vezes até que o namespace power apareça. Aqui está o comando:
Get-CimClass *power* -Namespace root/cimv2/power