Invoke-CMQuery

SYNOPSIS

Executar uma consulta do Gestor de Configuração.

SYNTAX

SearchByValueMandatory (Padrão)

Invoke-CMQuery -InputObject <IResultObject> [-LimitToCollectionId <String>] [-DisableWildcardHandling]
 [-ForceWildcardHandling] [-WhatIf] [-Confirm] [<CommonParameters>]

SearchByIdMandatory

Invoke-CMQuery -Id <String> [-LimitToCollectionId <String>] [-DisableWildcardHandling] [-ForceWildcardHandling]
 [-WhatIf] [-Confirm] [<CommonParameters>]

PesquisaByNameMandatory

Invoke-CMQuery [-LimitToCollectionId <String>] -Name <String> [-DisableWildcardHandling]
 [-ForceWildcardHandling] [-WhatIf] [-Confirm] [<CommonParameters>]

DESCRIPTION

Utilize este cmdlet para executar uma consulta no site do Gestor de Configuração. As consultas do Gestor de Configuração definem uma expressão WMI Query Language (WQL) para obter informações da base de dados do site com base nos critérios que fornece. O WQL é semelhante ao SQL, mas ainda passa pelo Fornecedor de SMS em vez de diretamente para a base de dados. Assim, o WQL ainda respeita a sua configuração de acesso baseada em funções.

Quando faz uma consulta, o site processa a expressão WQL e devolve os resultados no PowerShell. Dependendo da estrutura da declaração WQL, o formato dos resultados pode variar.

As consultas podem devolver a maioria dos tipos de objetos do Gestor de Configuração, que incluem computadores, sites, coleções, aplicações e dados de inventário. Para obter mais informações, consulte Introdução às consultas no Gestor de Configuraçõ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.

EXAMPLES

Exemplo 1: Ver e executar uma consulta padrão

Este exemplo mostra primeiro o cmdlet Get-CMQuery para mostrar as propriedades da consulta padrão, este Site e seus Subsites.

Em seguida, mostra o cmdlet Invoke-CMQuery para executar a mesma consulta e mostrar os resultados.

PS XYZ:\> Get-CMQuery -Id "SMS012"

SmsProviderObjectPath          : SMS_Query.QueryID="SMS012"
Comments                       : This site and all its subsites in the ConfigMgr hierarchy
Expression                     : SELECT SiteCode, SiteName, Version, ServerName FROM sms_siteandsubsites
LimitToCollectionID            :
LocalizedCategoryInstanceNames : {}
Name                           : This Site and its Subsites
QueryID                        : SMS012
ResultAliasNames               : {sms_siteandsubsites, sms_siteandsubsites, sms_siteandsubsites, sms_siteandsubsites}
ResultColumnsNames             : {sms_siteandsubsites.SiteCode, sms_siteandsubsites.SiteName,
                                 sms_siteandsubsites.Version, sms_siteandsubsites.ServerName}
TargetClassName                : sms_siteandsubsites

PS XYZ:\> Invoke-CMQuery -Id "SMS012"

SmsProviderObjectPath : SMS_SiteAndSubsites.SiteCode="XYZ"
ServerName            : cmserver.contoso.com
SiteCode              : XYZ
SiteName              : Production primary site
Version               : 5.00.9043.1000

Note na saída do cmdlet Get-CMQuery que a expressão WQL é simples. Seleciona quatro atributos de uma única classe.

Em seguida, note como a saída do cmdlet Invoke-CMQuery é uma tabela simples.

Exemplo 2: Ver e executar uma consulta complexa

Este exemplo mostra primeiro o cmdlet Get-CMQuery para mostrar as propriedades de uma consulta personalizada.

Em seguida, mostra o cmdlet Invoke-CMQuery para executar a mesma consulta e mostrar os resultados.

PS XYZ:\> Get-CMQuery -Id "XYZ00002"

SmsProviderObjectPath          : SMS_Query.QueryID="XYZ00002"
Comments                       :
Expression                     : select SMS_R_System.Name, SMS_R_System.LastLogonUserName,
                                 SMS_G_System_OPERATING_SYSTEM.Caption from SMS_R_System inner join
                                 SMS_G_System_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceID =
                                 SMS_R_System.ResourceId where SMS_G_System_OPERATING_SYSTEM.Caption like "Microsoft Windows Server 2012%"
LimitToCollectionID            : XYZ0025F
LocalizedCategoryInstanceNames : {}
Name                           : Server 2016
QueryID                        : XYZ00002
ResultAliasNames               : {SMS_R_System, SMS_R_System, SMS_G_System_OPERATING_SYSTEM}
ResultColumnsNames             : {SMS_R_System.Name, SMS_R_System.LastLogonUserName,
                                 SMS_G_System_OPERATING_SYSTEM.Caption}
TargetClassName                : SMS_R_System

PS XYZ:\> Invoke-CMQuery -Id "XYZ00002"


SmsProviderObjectPath         : __GENERIC
SMS_G_System_OPERATING_SYSTEM :
                                instance of SMS_G_System_OPERATING_SYSTEM
                                {
                                        Caption = "Microsoft Windows Server 2012 R2 Datacenter";
                                };

SMS_R_System                  :
                                instance of SMS_R_System
                                {
                                        LastLogonUserName = "jqpublic";
                                        Name = "millcreek01";
                                };

Esta consulta tem uma Expressão mais complexa que junta duas classes. O resultado da consulta é então mais complexo.

PARAMETERS

-Confirm

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

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

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

- ID

Especifique o ID da consulta a ser executada. Por exemplo, "XYZ00006".

Type: String
Parameter Sets: SearchByIdMandatory
Aliases: QueryId

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

-InputObject

Especifique um objeto de consulta para executar. Para obter este objeto, utilize o cmdlet Get-CMQuery.

Type: IResultObject
Parameter Sets: SearchByValueMandatory
Aliases:

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

-LimitToCollectionId

Se a consulta estiver configurada para solicitar a recolha de limitação, utilize este parâmetro para especificar um ID de recolha. Se a propriedade LimitToCollectionID da consulta for <Prompt> , e não incluir este parâmetro quando executar a consulta, o cmdlet falha.

Type: String
Parameter Sets: (All)
Aliases:

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

-Name

Especifique o nome da consulta a executar.

Type: String
Parameter Sets: SearchByNameMandatory
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: None
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.

INPUTS

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

OUTPUTS

Sistema.Objeto

NOTAS

Exportação-CMQuery Get-CMQuery Importação-CMQuery New-CMQuery Remover-CMQuery Set-CMQuery Introdução a consultas no Gestor de Configuração