Partilhar via


Invoke-CMWmiQuery

SINOPSE

Executar uma consulta wmi.

SINTAXE

ByWql (Padrão)

Invoke-CMWmiQuery [-Context <Hashtable>] [-Option <QueryOptions>] [-Query] <String> [-DisableWildcardHandling]
 [-ForceWildcardHandling] [-WhatIf] [-Confirm] [<CommonParameters>]

BySearch

Invoke-CMWmiQuery -ClassName <String> [-Context <Hashtable>] [-Option <QueryOptions>]
 -Search <SmsProviderSearch> [-DisableWildcardHandling] [-ForceWildcardHandling] [-WhatIf] [-Confirm]
 [<CommonParameters>]

DESCRIÇÃO

O cmdlet Invoke-CMWmiQuery executa uma consulta de instrumentação de gestão de Windows (WMI). Ao contrário de outros cmdlets ou ferramentas de consulta, com este cmdlet a ligação e o espaço de nome já estão configurados para si.

Também pode utilizar este cmdlet para criar uma consulta com a Idioma de Consulta WMI (WQL). O Gestor de Configuração utiliza o WQL para consultas em coleções. O WQL é semelhante ao SQL, mas ainda utiliza o Fornecedor de SMS, respeitando assim os controlos de acesso baseados em funções.

Nota

Executar cmdlets do Gestor de Configuração a partir da unidade do site do Gestor de Configuração, por exemplo PS XYZ:\> . Para mais informações, consulte a partida.

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 busca está ascendente pela 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 em $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 de 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 $Search objeto. Neste caso, a consulta procura sites.

O último comando executa a consulta armazenada em $Search. Especifica SMS_Site como a classe que contém a propriedade status do site.

$Search.Clear()
$Search.Add("Status", $True)

Invoke-CMWmiQuery -ClassName "SMS_Site" -Search $Search

Exemplo 4: Executar uma consulta de WMI para sites pelo 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 $Search objeto. Neste caso, a consulta procura sites.

O último comando executa a consulta armazenada em $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 de 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 $Search objeto. Neste caso, a consulta procura por pedidos.

O último comando executa a consulta armazenada em $Search. Especifica SMS_Site como a classe que contém o site CI_ID propriedade.

$Search.Clear()
$Search.AddAdhoc("CI_ID > 0")

Invoke-CMWmiQuery -ClassName "SMS_Application" -Search $Search -Option Lazy

PARÂMETROS

-Nome de classe

Especifica a classe WMI do Gestor de Configuração que pretende consultar.

Type: String
Parameter Sets: BySearch
Aliases:

Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Confirm

Solicita a sua confirmação antes de executar o cmdlet.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: cf

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-Contexto

Especifique o contexto do WMI como uma tabela hash. É uma lista de pares de nomes/valores que são passados a um provedor de WMI que suporta informações de contexto para uma operação personalizada.

Type: Hashtable
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-DisableWildcardHandling

Este parâmetro trata os caracteres wildcard como valores de caracteres literais. Não pode combiná-lo com ForceWildcardHandling.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-ForceWildcardHandling

Este parâmetro processa caracteres wildcard e pode levar a um comportamento inesperado (não recomendado). Não é possível combiná-lo com DisableWildcardHandling.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Opção

A opção mais comum Fast é.

Especificar uma opção de consulta:

  • None: Predefinição
  • Lazy: Por predefinição, o cmdlet carrega propriedades preguiçosas.
  • Fast: Utilize esta opção para não carregar propriedades preguiçosas. Esta opção pode devolver resultados mais rapidamente para algumas aulas.
  • ExpectResults & ExpectResultsThrowException: Se a consulta não devolver resultados, lance uma exceção. Esta exceção normalmente termina um guião.
  • FastExpectResults & LazyExpectResults: Estas opções combinam Fast e Lazy com ExpectResults .
  • ExpectResultsSoftFail: Se a consulta não retornar resultados, faça uma saída um erro, mas não termine o script.

Para obter mais informações sobre propriedades preguiçosas, consulte as propriedades preguiçosas do Gestor de Configuração.

Os seguintes valores são apenas para uso interno:

  • Clone
  • NoMask
  • NoRefresh
  • IgnoreNoResults
Type: QueryOptions
Parameter Sets: (All)
Aliases: Options
Accepted values: None, NoRefresh, Lazy, Fast, ExpectResults, FastExpectResults, LazyExpectResults, Clone, ExpectResultsSoftFail, ExpectResultsThrowException, NoMask, IgnoreNoResults

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Consulta

Especifica uma declaração de Idioma de Consulta WMI (WQL).

Type: String
Parameter Sets: ByWql
Aliases:

Required: True
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Pesquisar

Especifica um objeto SMSProviderSearch.

Type: SmsProviderSearch
Parameter Sets: BySearch
Aliases:

Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

- O QueIf

Apresenta o que aconteceria mediante a execução do cmdlet. O comandante não funciona.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction e -WarningVariable. Para mais informações, consulte about_CommonParameters.

ENTRADAS

Nenhuma

SAÍDAS

IResultObject[]

IResultObject

NOTAS

LIGAÇÕES RELACIONADAS

Invocar-CMWmiMethod