Invoke-CMWmiQuery
Execute uma consulta WMI.
Sintaxe
Invoke-CMWmiQuery
[-Context <Hashtable>]
[-Option <QueryOptions>]
[-Query] <String>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CMWmiQuery
-ClassName <String>
[-Context <Hashtable>]
[-Option <QueryOptions>]
-Search <SmsProviderSearch>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
O cmdlet Invoke-CMWmiQuery executa uma consulta WMI (Windows Management Instrumentation). Ao contrário de outros cmdlets ou ferramentas de consulta, com este cmdlet, a ligação e o espaço de nomes já estão configurados para si.
Também pode utilizar este cmdlet para criar uma consulta com a WMI Query Language (WQL). O Configuration Manager utiliza o WQL para consultas em coleções. O WQL é semelhante ao SQL, mas ainda utiliza o Fornecedor de SMS, pelo que cumpre os controlos de acesso baseados em funções.
Observação
Execute cmdlets do Configuration Manager a partir da unidade do site do Configuration Manager, por exemplo PS XYZ:\>
. Para obter mais informações, veja Introdução.
Exemplos
Exemplo 1: Executar uma consulta WQL
O primeiro comando cria uma consulta WQL e armazena-a na variável $WQL . O segundo comando executa a consulta armazenada na variável .
$WQL = @"
SELECT app.* FROM SMS_ApplicationLatest AS app
INNER JOIN SMS_CIContentPackage AS con ON app.CI_ID=con.CI_ID
INNER JOIN SMS_DistributionPoint AS srv ON con.PackageID=srv.PackageID
WHERE app.IsHidden = 0
"@
Invoke-CMWmiQuery -Query $WQL -Option Lazy
Exemplo 2: Executar uma consulta WMI para coleções de dispositivos
O primeiro comando cria um objeto de pesquisa e armazena o objeto na variável $Search .
O segundo comando especifica que a ordem de pesquisa é ascendente por CollectionID.
O terceiro comando adiciona parâmetros de pesquisa ao objeto $Search . Neste caso, a consulta procura coleções de dispositivos.
O último comando executa a consulta armazenada no $Search. Especifica SMS_Collection como a classe que contém a propriedade CollectionID .
$Search = [Microsoft.ConfigurationManagement.PowerShell.Provider.SmsProviderSearch]::new()
$Search.AddOrder("CollectionID", [Microsoft.ConfigurationManagement.PowerShell.Provider.SearchParameterOrderBy]::Asc)
$Search.Add("Name","DeviceCol*", $True)
Invoke-CMWmiQuery -Search $Search -ClassName "SMS_Collection" -Option Lazy
Exemplo 3: Executar uma consulta WMI para sites por estado
O primeiro comando limpa os parâmetros de pesquisa de qualquer objeto de pesquisa existente.
O segundo comando adiciona parâmetros de pesquisa ao objeto $Search . Neste caso, a consulta procura sites.
O último comando executa a consulta armazenada no $Search. Especifica SMS_Site como a classe que contém a propriedade Estado do site.
$Search.Clear()
$Search.Add("Status", $True)
Invoke-CMWmiQuery -ClassName "SMS_Site" -Search $Search
Exemplo 4: Executar uma consulta WMI para sites por nome
O primeiro comando limpa os parâmetros de pesquisa de qualquer objeto de pesquisa existente.
O segundo comando adiciona parâmetros de pesquisa ao objeto $Search . Neste caso, a consulta procura sites.
O último comando executa a consulta armazenada no $Search. Especifica SMS_Site como a classe que contém a propriedade SiteName .
$Search.Clear()
$Search.Add("SiteName", $null, [Microsoft.ConfigurationManagement.PowerShell.Provider.SearchParameterOperator]::NotEquals)
Invoke-CMWmiQuery -ClassName "SMS_Site" -Search $Search
Exemplo 5: Executar uma consulta WMI para aplicações
O primeiro comando limpa os parâmetros de pesquisa de qualquer objeto de pesquisa existente.
O segundo comando adiciona parâmetros de pesquisa ao objeto $Search . Neste caso, a consulta procura aplicações.
O último comando executa a consulta armazenada no $Search. Especifica SMS_Application como a classe que contém a propriedade site CI_ID .
$Search.Clear()
$Search.AddAdhoc("CI_ID > 0")
Invoke-CMWmiQuery -ClassName "SMS_Application" -Search $Search -Option Lazy
Parâmetros
-ClassName
Especifica a classe WMI do Configuration Manager que pretende consultar.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Confirm
Solicita a confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Context
Especifique o contexto WMI como uma tabela hash. É uma lista de pares de nome/valor que são transmitidos a um fornecedor WMI que suporta informações de contexto para uma operação personalizada.
Tipo: | Hashtable |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-DisableWildcardHandling
Este parâmetro trata os carateres universais como valores de carateres literais. Não pode combiná-lo com ForceWildcardHandling.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-ForceWildcardHandling
Este parâmetro processa carateres universais e pode levar a um comportamento inesperado (não recomendado). Não pode combiná-lo com DisableWildcardHandling.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Option
A opção mais comum é Fast
.
Especifique uma opção de consulta:
-
None
: Predefinição -
Lazy
: por predefinição, o cmdlet carrega propriedades lentas. -
Fast
: utilize esta opção para não carregar propriedades em diferido. Esta opção pode devolver resultados mais rapidamente para algumas classes. -
ExpectResults
ExpectResultsThrowException
&: se a consulta não devolver resultados, crie uma exceção. Normalmente, esta exceção termina um script. -
FastExpectResults
LazyExpectResults
&: estas opções combinamFast
eLazy
comExpectResults
. -
ExpectResultsSoftFail
: se a consulta não devolver resultados, produza um erro, mas não termine o script.
Para obter mais informações sobre propriedades em diferido, veja Propriedades em diferido do Configuration Manager.
Os seguintes valores destinam-se apenas a utilização interna:
- Clone
- NoMask
- NoRefresh
- IgnoreNoResults
Tipo: | QueryOptions |
Aliases: | Options |
Valores aceitos: | None, NoRefresh, Lazy, Fast, ExpectResults, FastExpectResults, LazyExpectResults, Clone, ExpectResultsSoftFail, ExpectResultsThrowException, NoMask, IgnoreNoResults |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Query
Especifica uma instrução WMI Query Language (WQL).
Tipo: | String |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Search
Especifica um objeto SMSProviderSearch .
Tipo: | SmsProviderSearch |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-WhatIf
Mostrar o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
None
Saídas
IResultObject[]
IResultObject