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
: StandardLazy
: 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 kombinerarFast
ochLazy
medExpectResults
.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
-Search
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.