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
RELATED LINKS
Export-CMQuery Get-CMQuery Import-CMQuery New-CMQuery Remove-CMQuery Set-CMQuery Configuration Manager sorgulara giriş