Invoke-CMQuery

SYNOPSIS

Uruchom Menedżer konfiguracji zapytania.

SYNTAX

SearchByValueMandatory (ustawienie domyślne)

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

SearchByIdMandatory

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

SearchByNameMandatory

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

DESCRIPTION

To polecenie cmdlet pozwala uruchomić zapytanie w Menedżer konfiguracji lokacji. Menedżer konfiguracji definiują wyrażenie język zapytań usługi WMI (WQL) w celu uzyskania informacji z bazy danych lokacji na podstawie określonych kryteriów. WQL jest podobny do SQL, ale nadal przechodzi przez dostawcę programu SMS zamiast bezpośrednio do bazy danych. Dlatego WQL nadal przestrzega konfiguracji dostępu opartej na rolach.

Po uruchomieniu zapytania witryna przetwarza wyrażenie WQL i zwraca wyniki w programie PowerShell. W zależności od struktury instrukcji WQL format wyników może się różnić.

Zapytania mogą zwracać większość typów obiektów Menedżer konfiguracji, w tym komputery, lokacje, kolekcje, aplikacje i dane spisu. Aby uzyskać więcej informacji, zobacz Wprowadzenie do zapytań w Menedżer konfiguracji.

Uwaga

Uruchom Menedżer konfiguracji cmdlet z dysku Menedżer konfiguracji lokacji, na przykład PS XYZ:\> . Aby uzyskać więcej informacji, zobacz wprowadzenie.

EXAMPLES

Przykład 1: Wyświetlanie i uruchamianie zapytania domyślnego

W tym przykładzie najpierw przedstawiono polecenie cmdlet Get-CMQuery, aby wyświetlić właściwości zapytania domyślnego: Ta witryna i jego lokacje podrzędne.

Następnie wyświetla polecenie cmdlet Invoke-CMQuery, aby uruchomić to samo zapytanie i wyświetlić wyniki.

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

Zwróć uwagę, że w danych wyjściowych polecenia cmdlet Get-CMQuery wyrażenie WQL jest proste. Wybiera cztery atrybuty z jednej klasy.

Następnie zwróć uwagę, że dane wyjściowe polecenia cmdlet Invoke-CMQuery są prostą tabelą.

Przykład 2: Wyświetlanie i uruchamianie złożonego zapytania

W tym przykładzie najpierw przedstawiono polecenie cmdlet Get-CMQuery w celu pokazania właściwości zapytania niestandardowego.

Następnie wyświetla polecenie cmdlet Invoke-CMQuery, aby uruchomić to samo zapytanie i wyświetlić wyniki.

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";
                                };

To zapytanie ma bardziej złożone wyrażenie, które łączy dwie klasy. Wynik zapytania jest wtedy bardziej złożony.

PARAMETERS

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

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

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

-DisableWildcardHandling

Ten parametr traktuje symbole wieloznaczne jako wartości znaków literału. Nie można połączyć go z forceWildcardHandling.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

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

-ForceWildcardHandling

Ten parametr przetwarza symbole wieloznaczne i może prowadzić do nieoczekiwanego zachowania (nie jest zalecane). Nie można połączyć go z disableWildcardHandling.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

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

-Id (Identyfikator)

Określ identyfikator zapytania do uruchomienia. Na przykład "XYZ00006".

Type: String
Parameter Sets: SearchByIdMandatory
Aliases: QueryId

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

-InputObject

Określ obiekt zapytania do uruchomienia. Aby uzyskać ten obiekt, użyj polecenia 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

Jeśli zapytanie jest skonfigurowane do monitowania o kolekcję ograniczającą, użyj tego parametru, aby określić identyfikator kolekcji. Jeśli właściwość LimitToCollectionID zapytania to , a ten parametr nie zostanie dołączyć podczas uruchamiania <Prompt> zapytania, polecenie cmdlet zakończy się niepowodzeniem.

Type: String
Parameter Sets: (All)
Aliases:

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

-Name

Określ nazwę zapytania do uruchomienia.

Type: String
Parameter Sets: SearchByNameMandatory
Aliases:

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

-WhatIf

Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie jest uruchamiane.

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

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

Typowe parametry

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

INPUTS

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

OUTPUTS

System.Object

UWAGI

Export-CMQuery Get-CMQuery Import-CMQuery New-CMQuery Remove-CMQuery Set-CMQuery Wprowadzenie do zapytań w Menedżer konfiguracji