Dela via


Invoke-CMWmiQuery

SYNOPSIS

Kör en WMI-fråga.

SYNTAX

ByWql (standard)

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

Cmdleten Invoke-CMWmiQuery kör en Windows WMI-fråga (Management Instrumentation). Till skillnad från andra fråge-cmdlets eller verktyg har anslutningen och namnområdet redan ställts in åt dig med den här cmdleten.

Du kan också använda denna cmdlet för att skapa en fråga med WMI Query Language (WQL). Konfigurationshanteraren använder WQL för frågor i samlingar. WQL liknar det SQL, men använder fortfarande SMS-providern, och följer därför rollbaserade åtkomstkontroller.

Anteckning

Kör Konfigurationshanteraren cmdlets från Konfigurationshanteraren platsenheten, till exempel PS XYZ:\> . Mer information finns i Komma igång.

EXAMPLES

Exempel 1: Köra en WQL-fråga

Det första kommandot skapar en WQL-fråga och lagrar den i $WQL variabeln. Det andra kommandot kör frågan som lagras i variabeln .

$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

Exempel 2: Köra en WMI-fråga för enhetssamlingar

Det första kommandot skapar ett sökobjekt och lagrar objektet i $Search variabeln.

Det andra kommandot anger att sökordningen är stigande med CollectionID.

Det tredje kommandot lägger till sökparametrar i $Search-objektet. I det här fallet söker frågan efter enhetssamlingar.

Det sista kommandot kör frågan som lagras i $Search. Den anger SMS_Collection klass som innehåller egenskapen CollectionID.

$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

Exempel 3: Köra en WMI-fråga för platser efter status

Det första kommandot rensar sökparametrarna från alla befintliga sökobjekt.

Det andra kommandot lägger till sökparametrar i $Search objekt. I det här fallet söker frågan efter platser.

Det sista kommandot kör frågan som lagras i $Search. Den anger SMS_Site som den klass som innehåller egenskapen platsstatus.

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

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

Exempel 4: Kör en WMI-fråga för platser efter namn

Det första kommandot rensar sökparametrarna från alla befintliga sökobjekt.

Det andra kommandot lägger till sökparametrar i $Search objekt. I det här fallet söker frågan efter platser.

Det sista kommandot kör frågan som lagras i $Search. Den anger SMS_Site som den klass som innehåller egenskapen SiteName.

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

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

Exempel 5: Köra en WMI-fråga för program

Det första kommandot rensar sökparametrarna från alla befintliga sökobjekt.

Det andra kommandot lägger till sökparametrar i $Search objekt. I det här fallet söker frågan efter program.

Det sista kommandot kör frågan som lagras i $Search. Den anger SMS_Site som den klass som innehåller CI_ID plats.

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

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

PARAMETERS

-ClassName

Anger den Konfigurationshanteraren WMI-klass som du vill köra frågor mot.

Type: String
Parameter Sets: BySearch
Aliases:

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

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

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

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

-Kontext

Ange WMI-kontexten som en hash-tabell. Det är en lista över namn/värde-par som skickas till en WMI-provider som stöder kontextinformation för en anpassad åtgärd.

Type: Hashtable
Parameter Sets: (All)
Aliases:

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

-DisableWildcardHandling

Den här parametern behandlar jokertecken som värden för literaltecken. Du kan inte kombinera den med ForceWildcardHandling.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

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

-ForceWildcardHandling

Den här parametern bearbetar jokertecken och kan leda till oväntat beteende (rekommenderas inte). Du kan inte kombinera den med DisableWildcardHandling.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

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

-Alternativ

Det vanligaste alternativet är Fast .

Ange ett frågealternativ:

  • None: Standard
  • Lazy: Som standard läser cmdleten in lazy-egenskaper.
  • Fast: Använd det här alternativet för att inte läsa in lazy-egenskaper. Det här alternativet kan returnera resultat snabbare för vissa klasser.
  • ExpectResults & ExpectResultsThrowException: Om frågan inte returnerar några resultat returnerar du ett undantag. Det här undantaget avslutar vanligtvis ett skript.
  • FastExpectResults & LazyExpectResults: Dessa alternativ kombinerar Fast och Lazy med ExpectResults .
  • ExpectResultsSoftFail: Om frågan inte returnerar några resultat matar du ut ett fel, men avslutar inte skriptet.

Mer information om lazy-egenskaper finns i Konfigurationshanteraren lazy-egenskaper.

Följande värden är endast för internt bruk:

  • Klona
  • 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

-Fråga

Anger en WMI Query Language (WQL)-instruktion.

Type: String
Parameter Sets: ByWql
Aliases:

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

Anger ett SMSProviderSearch-objekt.

Type: SmsProviderSearch
Parameter Sets: BySearch
Aliases:

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

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

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

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

CommonParameters

Denna cmdlet har stöd för parametrarna -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

INPUTS

Ingen

OUTPUTS

IResultObject[]

IResultObject

ANTECKNINGAR

Invoke-CMWmiMethod