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çãoLazy
: 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 combinamFast
eLazy
comExpectResults
.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.