Aracılığıyla paylaş


Invoke-CMWmiQuery

SYNOPSIS

Bir WMI sorgusu çalıştırın.

SYNTAX

ByWql (varsayılan)

Invoke-CMWmiQuery [-Context <Hashtable>] [-Option <QueryOptions>] [-Query] <String> [-DisableWildcardHandling]
 [-ForceWildcardHandling] [-WhatIf] [-Confirm] [<CommonParameters>]

BySearch

Invoke-CMWmiQuery -ClassName <String> [-Context <Hashtable>] [-Option <QueryOptions>]
 -Search <SmsProviderSearch> [-DisableWildcardHandling] [-ForceWildcardHandling] [-WhatIf] [-Confirm]
 [<CommonParameters>]

DESCRIPTION

ınvoke-cmwmiquery cmdlet 'i bir Windows Yönetim Araçları (wmı) sorgusu çalıştırır. Diğer sorgu cmdlet 'lerinin veya araçlarından farklı olarak, bu cmdlet ile bağlantı ve ad alanı zaten sizin için ayarlanmıştır.

Bu cmdlet 'i WMI Sorgu Dili (WQL) ile bir sorgu oluşturmak için de kullanabilirsiniz. Configuration Manager koleksiyonlardaki sorgular için WQL kullanır. WQL SQL benzerdir, ancak hala SMS sağlayıcısını kullanır, bu nedenle rol tabanlı erişim denetimlerine göre daha da kullanılır.

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: bir WQL sorgusu çalıştırma

İlk komut bir WQL sorgusu oluşturur ve $wql değişkeninde depolar. İkinci komut, değişkeninde depolanan sorguyu çalıştırır.

$WQL = @"
SELECT app.* FROM SMS_ApplicationLatest AS app
INNER JOIN SMS_CIContentPackage AS con ON app.CI_ID=con.CI_ID
INNER JOIN SMS_DistributionPoint AS srv ON con.PackageID=srv.PackageID
WHERE app.IsHidden = 0
"@

Invoke-CMWmiQuery -Query $WQL -Option Lazy

Örnek 2: cihaz koleksiyonları için bir WMI sorgusu çalıştırma

İlk komut bir arama nesnesi oluşturur ve nesneyi $Search değişkeninde depolar.

İkinci komut, arama sırasının CollectionId tarafından artan şekilde olduğunu belirtir.

Üçüncü komut $Search nesnesine arama parametrelerini ekler. Bu durumda, sorgu cihaz koleksiyonlarını arar.

Son komut, $Search depolanan sorguyu çalıştırır. CollectionId özelliğini içeren sınıf olarak SMS_Collection belirtir.

$Search = [Microsoft.ConfigurationManagement.PowerShell.Provider.SmsProviderSearch]::new()
$Search.AddOrder("CollectionID", [Microsoft.ConfigurationManagement.PowerShell.Provider.SearchParameterOrderBy]::Asc)
$Search.Add("Name","DeviceCol*", $True)

Invoke-CMWmiQuery -Search $Search -ClassName "SMS_Collection" -Option Lazy

Örnek 3: siteler için bir WMI sorgusunu duruma göre çalıştırma

İlk komut, var olan herhangi bir arama nesnesinden arama parametrelerini temizler.

İkinci komut $Search nesnesine arama parametrelerini ekler. Bu durumda, sorgu siteleri arar.

Son komut, $Search depolanan sorguyu çalıştırır. Site durumu özelliğini içeren sınıf olarak SMS_Site belirtir.

$Search.Clear()
$Search.Add("Status", $True)

Invoke-CMWmiQuery -ClassName "SMS_Site" -Search $Search

Örnek 4: siteler için bir WMI sorgusunu ada göre çalıştırma

İlk komut, var olan herhangi bir arama nesnesinden arama parametrelerini temizler.

İkinci komut $Search nesnesine arama parametrelerini ekler. Bu durumda, sorgu siteleri arar.

Son komut, $Search depolanan sorguyu çalıştırır. SiteName özelliğini içeren sınıf olarak SMS_Site belirtir.

$Search.Clear()
$Search.Add("SiteName", $null, [Microsoft.ConfigurationManagement.PowerShell.Provider.SearchParameterOperator]::NotEquals)

Invoke-CMWmiQuery -ClassName "SMS_Site" -Search $Search

Örnek 5: uygulamalar için bir WMI sorgusu çalıştırma

İlk komut, var olan herhangi bir arama nesnesinden arama parametrelerini temizler.

İkinci komut $Search nesnesine arama parametrelerini ekler. Bu durumda sorgu, uygulamalar için arama yapar.

Son komut, $Search depolanan sorguyu çalıştırır. Site CI_ID özelliğini içeren sınıf olarak SMS_Site belirtir.

$Search.Clear()
$Search.AddAdhoc("CI_ID > 0")

Invoke-CMWmiQuery -ClassName "SMS_Application" -Search $Search -Option Lazy

PARAMETERS

-ClassName

Sorgulamak istediğiniz Configuration Manager WMI sınıfını belirtir.

Type: String
Parameter Sets: BySearch
Aliases:

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

-Confirm

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

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

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

-Bağlam

WMI bağlamını karma tablo olarak belirtin. Bu, özelleştirilmiş bir işlemin bağlam bilgilerini destekleyen bir WMI sağlayıcısına geçirilen ad/değer çiftleri listesidir.

Type: Hashtable
Parameter Sets: (All)
Aliases:

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

-Seçenek

En yaygın seçenek Fast .

Bir sorgu seçeneği belirtin:

  • None: Varsayılan
  • Lazy: Varsayılan olarak, cmdlet yavaş özellikleri yükler.
  • Fast: Yavaş özellikleri yüklemek için bu seçeneği kullanın. Bu seçenek, bazı sınıflarda sonuçları daha hızlı döndürebilir.
  • ExpectResults & ExpectResultsThrowException: Sorgu hiçbir sonuç döndürürse, bir özel durum oluşturun. Bu özel durum genellikle bir betiği sonlandırır.
  • FastExpectResults & LazyExpectResults: Bu seçenekler Fast ve Lazy ile birleştirir ExpectResults .
  • ExpectResultsSoftFail: Sorgu hiçbir sonuç döndürürse bir hata çıktı, ancak betiği sonlandırmayın.

Geç özellikler hakkında daha fazla bilgi için Configuration Manager yavaş özellikleribölümüne bakın.

Aşağıdaki değerler yalnızca iç kullanım içindir:

  • Kopyalama
  • NoMask
  • NoRefresh
  • Ignorenoresults
Type: QueryOptions
Parameter Sets: (All)
Aliases: Options
Accepted values: None, NoRefresh, Lazy, Fast, ExpectResults, FastExpectResults, LazyExpectResults, Clone, ExpectResultsSoftFail, ExpectResultsThrowException, NoMask, IgnoreNoResults

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

-Sorgu

Bir WMI Sorgu Dili (WQL) ifadesini belirtir.

Type: String
Parameter Sets: ByWql
Aliases:

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

-Ara

Bir Smsprovidersearch nesnesi belirtir.

Type: SmsProviderSearch
Parameter Sets: BySearch
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: False
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

Hiçbiri

OUTPUTS

Iresultobject []

Iresultobject

NOTLAR

Invoke-CMWmiMethod