Aracılığıyla paylaş


Invoke-CMQuery

SYNOPSIS

Bir Configuration Manager sorgusu çalıştırın.

SYNTAX

Searchbyvaluezorunlu (varsayılan)

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

Searchbyıdzorunlu

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

Searchbynamezorunlu

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

DESCRIPTION

Configuration Manager sitesinde bir sorgu çalıştırmak için bu cmdlet 'i kullanın. Configuration Manager sorguları, sağladığınız ölçütlere göre site veritabanından bilgi almak için bir WMI Sorgu Dili (WQL) ifadesi tanımlar. WQL SQL benzerdir, ancak yine de doğrudan veritabanına değil SMS sağlayıcısından geçer. Bu nedenle, WQL hala rol tabanlı erişim yapılandırmanızla uyumlu değildir.

Bir sorgu çalıştırdığınızda, site WQL ifadesini işler ve PowerShell 'de sonuçları döndürür. WQL ifadesinin yapısına bağlı olarak, sonuçların biçimi farklılık gösterebilir.

Sorgular bilgisayarlar, siteler, koleksiyonlar, uygulamalar ve envanter verileri dahil olmak üzere çoğu Configuration Manager nesne türünü döndürebilir. Daha fazla bilgi için bkz. Configuration Manager sorgulara giriş.

Not

Örneğin, Configuration Manager site sürücüsünden Configuration Manager cmdlet 'lerini çalıştırın PS XYZ:\> . Daha fazla bilgi için başlarken bölümüne bakın.

EXAMPLES

Örnek 1: Varsayılan sorguyu görüntüleme ve çalıştırma

Bu örnek öncelikle, Get-CMQuery cmdlet 'ini gösterir, Bu site ve alt siteleri varsayılan sorgu özelliklerini gösterir.

Daha sonra, aynı sorguyu çalıştırmak ve sonuçları göstermek için Invoke-CMQuery cmdlet 'ini gösterir.

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

WQL ifadesinin basit olduğunu Get-CMQuery cmdlet 'inin çıkışında dikkat edin. Tek bir sınıftan dört öznitelik seçer.

Sonra Invoke-CMQuery cmdlet 'inin çıktısının nasıl basit bir tablo olduğunu fark edin.

Örnek 2: karmaşık bir sorguyu görüntüleme ve çalıştırma

Bu örnek öncelikle bir özel sorgunun özelliklerini göstermek üzere Get-CMQuery cmdlet 'ini gösterir.

Daha sonra, aynı sorguyu çalıştırmak ve sonuçları göstermek için Invoke-CMQuery cmdlet 'ini gösterir.

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

Bu sorgunun iki sınıfı birleştiren daha karmaşık bir ifadesi vardır. Sorgunun sonucu daha karmaşıktır.

PARAMETERS

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

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

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

-Disableyavaya Cardhandling

Bu parametre, joker karakterleri değişmez değer karakter değerleri olarak değerlendirir. Bunu Forceyavaya Cardhandling ile birleştiremezsiniz.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

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

-Forcebir Cardhandling

Bu parametre joker karakterleri işler ve beklenmeyen davranışlara neden olabilir (önerilmez). Bunu Disableyavaya Cardhandling ile birleştiremezsiniz.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

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

-ID

Çalıştırılacak sorgunun KIMLIĞINI belirtin. Örneğin, "XYZ00006".

Type: String
Parameter Sets: SearchByIdMandatory
Aliases: QueryId

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

-InputObject

Çalıştırılacak sorgu nesnesi belirtin. Bu nesneyi almak için Get-CMQuery cmdlet 'ini kullanın.

Type: IResultObject
Parameter Sets: SearchByValueMandatory
Aliases:

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

-LimitToCollectionID

Sorgu sınırlayan koleksiyonu isteyecek şekilde yapılandırıldıysa, bir koleksiyon KIMLIĞI belirtmek için bu parametreyi kullanın. Sorgunun LimitToCollectionID özelliği ise <Prompt> ve sorguyu çalıştırdığınızda bu parametreyi eklemezseniz, cmdlet başarısız olur.

Type: String
Parameter Sets: (All)
Aliases:

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

-Name

Çalıştırılacak sorgunun adını belirtin.

Type: String
Parameter Sets: SearchByNameMandatory
Aliases:

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

-WhatIf

Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmaz.

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

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

CommonParameters

Bu cmdlet şu genel parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.

INPUTS

Microsoft.ConfigurationManagement. ManagementProvider. ıresultobject

OUTPUTS

System.Object

NOTLAR

Export-CMQuery Get-CMQuery Import-CMQuery New-CMQuery Remove-CMQuery Set-CMQuery Configuration Manager sorgulara giriş