Invoke-CMQuery
SYNOPSIS
Spusťte Správce konfigurace dotaz.
SYNTAX
SearchByValueMandatory (výchozí)
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
Tuto rutinu použijte ke spuštění dotazu v Správce konfigurace lokalitě. Správce konfigurace dotazy definují výraz jazyk WQL (WMI Query Language) (WQL) pro získání informací z databáze lokality na základě zadaných kritérií. Jazyk WQL je SQL, ale stále prochází přes poskytovatele serveru SMS místo přímo do databáze. Jazyk WQL se tedy stále uchová v konfiguraci přístupu na základě role.
Když spustíte dotaz, web zpracuje výraz WQL a vrátí výsledky v PowerShellu. Formát výsledků se může lišit v závislosti na struktuře příkazu WQL.
Dotazy mohou vracet většinu typů objektů Správce konfigurace, mezi které patří počítače, lokality, kolekce, aplikace a data inventáře. Další informace najdete v tématu Úvod do dotazů v Správce konfigurace.
Poznámka
Spusťte Správce konfigurace rutiny z Správce konfigurace lokality, například PS XYZ:\>
. Další informace najdete v tématu Začínáme.
EXAMPLES
Příklad 1: Zobrazení a spuštění výchozího dotazu
Tento příklad nejprve ukazuje rutinu Get-CMQuery, která zobrazuje vlastnosti výchozího dotazu This Site a jeho podřízené lokality.
Potom zobrazí rutinu Invoke-CMQuery, která spustí stejný dotaz a zobrazí výsledky.
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
Všimněte si, že ve výstupu rutiny Get-CMQuery je výraz jazyka WQL jednoduchý. Vybere čtyři atributy z jedné třídy.
Pak si všimněte, že výstupem rutiny Invoke-CMQuery je jednoduchá tabulka.
Příklad 2: Zobrazení a spuštění složitého dotazu
Tento příklad nejprve ukazuje rutinu Get-CMQuery, která zobrazuje vlastnosti vlastního dotazu.
Potom zobrazí rutinu Invoke-CMQuery, která spustí stejný dotaz a zobrazí výsledky.
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";
};
Tento dotaz má složitější výraz Expression, který spojuje dvě třídy. Výsledek dotazu je pak složitější.
PARAMETERS
-Confirm
Před spuštěním rutiny zobrazí výzvu k potvrzení.
Type: SwitchParameter
Parameter Sets: (All)
Aliases: cf
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-DisableWildcardHandling
Tento parametr považuje zástupné znaky za hodnoty literálových znaků. Nemůžete ho kombinovat s forceWildcardHandling.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ForceWildcardHandling
Tento parametr zpracovává zástupné znaky a může vést k neočekávanému chování (nedoporučuje se). Nemůžete ho kombinovat s příkazem DisableWildcardHandling.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Id
Zadejte ID dotazu, který se má spustit. Například, "XYZ00006"
.
Type: String
Parameter Sets: SearchByIdMandatory
Aliases: QueryId
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-InputObject
Zadejte objekt dotazu, který se má spustit. K získání tohoto objektu použijte rutinu 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
Pokud je dotaz nakonfigurovaný tak, aby vyzve k zadání limitující kolekce, použijte tento parametr k zadání ID kolekce. Pokud je vlastnost LimitToCollectionID dotazu a tento parametr při spuštění dotazu nezahrnujete, <Prompt>
rutina selže.
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Name
Zadejte název dotazu, který se má spustit.
Type: String
Parameter Sets: SearchByNameMandatory
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-WhatIf
Zobrazuje, co by se stalo při spuštění rutiny. Rutina se nespouštěl.
Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
CommonParameters
Tato rutina podporuje společné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v tématu about_CommonParameters.
INPUTS
Microsoft.ConfigurationManagement.ManagementProvider.IResultObject
OUTPUTS
System.Object
POZNÁMKY
RELATED LINKS
Export CMQuery Get-CMQuery Import CMQuery New-CMQuery Odebrání CMQuery Nastavení CMQuery Úvod do dotazů v Správce konfigurace