Instâncias de consulta usando comandos e linguagem de consulta WMI
Depois de identificar a classe que deseja consultar, você pode usar o Windows PowerShell para recuperar as instâncias específicas dessa classe. Por exemplo, se você quiser recuperar todas as instâncias da classe Win32_LogicalDisk do namespace root\CIMv2 , execute um dos seguintes comandos:
Get-WmiObject -Class Win32_LogicalDisk
Get-CimInstance -ClassName Win32_LogicalDisk
Nota
A saída desses comandos é formatada de forma diferente, mas eles contêm as mesmas informações.
Nota
Ao usar Get-CimInstance, você pode usar o preenchimento de guia para o nome da classe. Isso não é possível com Get-WmiObject.
O parâmetro -Class de Get-WmiObject e o parâmetro -ClassName de Get-CimInstance são posicionais. Os nomes dos parâmetros posicionais não precisam ser especificados. Isso significa que os seguintes comandos fornecem os mesmos resultados:
Get-WmiObject Win32_LogicalDisk
Get-CimInstance Win32_LogicalDisk
Filtrando instâncias
Por padrão, ambos os comandos recuperam todas as instâncias disponíveis da classe especificada. Você pode especificar critérios de filtro para recuperar um conjunto menor de instâncias. As linguagens de filtro usadas por esses comandos não usam operadores de comparação do Windows PowerShell. Em vez disso, eles usam operadores de programação tradicionais, conforme listado na tabela a seguir.
Quadro 1: Operadores de programação
| Comparação | Operador WMI e CIM | Operador do Windows PowerShell |
|---|---|---|
| Igual a | = | -eq |
| Diferente de | <> | -ne |
| Maior que | > | -gt |
| Menor que | < | -lt |
| Menor que ou igual a | <= | -le |
| Maior ou igual a | >= | -GE |
| Correspondência de cadeia de caracteres curinga | LIKE (com % como curinga) | -like (com ***** como curinga) |
| Exigir duas ou mais condições para ser verdadeiro | E AINDA | -e |
| Exigir que uma das duas ou mais condições seja verdadeira | OU | -ou |
Por exemplo, para recuperar apenas as instâncias de Win32_LogicalDisk para as quais a propriedade DriveType é 3, execute um dos seguintes comandos:
Get-WmiObject -Class Win32_LogicalDisk -Filter "DriveType=3"
Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3"
Nota
Muitas propriedades de classe usam inteiros para representar diferentes tipos de coisas. Por exemplo, na classe Win32_LogicalDisk , uma propriedade DriveType de 3 representa um disco fixo local. Um valor de 5 representa um disco ótico, como uma unidade de DVD. Você tem que examinar a documentação da classe para saber o que cada valor representa.
Consultando usando WQL
Tanto o WMI quanto o CIM aceitam instruções de consulta escritas em WQL (WMI Query Language). WQL é um subconjunto de SQL (Structured Query Language) específico para consultar WMI. Seu formato é bastante intuitivo, por isso é relativamente simples criá-los. Por exemplo, as consultas a seguir são equivalentes aos comandos descritos anteriormente que recuperam a instância específica da classe Win32_LogicalDisk :
Get-WmiObject -Query "SELECT * FROM Win32_LogicalDisk WHERE DriveType = 3"
Get-CimInstance -Query "SELECT * FROM Win32_LogicalDisk WHERE DriveType = 3"
Leituras complementares: Para obter mais informações sobre WQL, consulte WQL (SQL para WMI).