Delen via


Invoke-CMWmiQuery

SYNOPSIS

Voer een WMI-query uit.

SYNTAX

ByWql (standaard)

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

Met de cmdlet Invoke-CMWmiQuery wordt een Windows WMI-query (Management Instrumentation) uitgevoerd. In tegenstelling tot andere query-cmdlets of hulpprogramma's is met deze cmdlet de verbinding en naamruimte al voor u ingesteld.

U kunt deze cmdlet ook gebruiken om een query te maken met WMI Query Language (WQL). Configuration Manager maakt gebruik van WQL voor query's in verzamelingen. WQL is vergelijkbaar met SQL, maar maakt nog steeds gebruik van de SMS-provider, wat dus voldoet aan op rollen gebaseerd toegangsbesturingselement.

Notitie

Voer Configuration Manager cmdlets uit vanaf Configuration Manager sitestation, bijvoorbeeld PS XYZ:\> . Zie Aan de slag voor meer informatie.

EXAMPLES

Voorbeeld 1: een WQL-query uitvoeren

Met de eerste opdracht maakt u een WQL-query en slaat u deze op in de $WQL variabele. Met de tweede opdracht wordt de query uitgevoerd die is opgeslagen in de variabele .

$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

Voorbeeld 2: Een WMI-query uitvoeren voor apparaatverzamelingen

Met de eerste opdracht maakt u een zoekobject en slaat u het object op in $Search variabele .

De tweede opdracht geeft aan dat de zoekorder oplopend is met CollectionID.

Met de derde opdracht worden zoekparameters toegevoegd aan het $Search object. In dit geval zoekt de query naar apparaatverzamelingen.

Met de laatste opdracht wordt de query uitgevoerd die is opgeslagen in $Search. Hiermee geeft u SMS_Collection als de klasse die de eigenschap CollectionID bevat.

$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

Voorbeeld 3: een WMI-query uitvoeren voor sites op status

Met de eerste opdracht worden de zoekparameters van elk bestaand zoekobject geweken.

Met de tweede opdracht worden zoekparameters toegevoegd aan het $Search object. In dit geval zoekt de query naar sites.

Met de laatste opdracht wordt de query uitgevoerd die is opgeslagen in $Search. Hiermee geeft u SMS_Site als de klasse die de eigenschap sitestatus bevat.

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

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

Voorbeeld 4: Een WMI-query uitvoeren voor sites op naam

Met de eerste opdracht worden de zoekparameters van elk bestaand zoekobject geweken.

Met de tweede opdracht worden zoekparameters toegevoegd aan het $Search object. In dit geval zoekt de query naar sites.

Met de laatste opdracht wordt de query uitgevoerd die is opgeslagen in $Search. Hiermee geeft u SMS_Site als de klasse die de eigenschap SiteName bevat.

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

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

Voorbeeld 5: Een WMI-query uitvoeren voor toepassingen

Met de eerste opdracht worden de zoekparameters van elk bestaand zoekobject geweken.

Met de tweede opdracht worden zoekparameters toegevoegd aan het $Search object. In dit geval zoekt de query naar toepassingen.

Met de laatste opdracht wordt de query uitgevoerd die is opgeslagen in $Search. Hiermee geeft u SMS_Site als de klasse die de eigenschap site CI_ID bevat.

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

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

PARAMETERS

-ClassName

Hiermee geeft u de Configuration Manager WMI-klasse die u wilt opvragen.

Type: String
Parameter Sets: BySearch
Aliases:

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

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

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

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

-Context

Geef de WMI-context op als een hash-tabel. Het is een lijst met naam/waarde-paren die worden doorgegeven aan een WMI-provider die ondersteuning biedt voor contextinformatie voor een aangepaste bewerking.

Type: Hashtable
Parameter Sets: (All)
Aliases:

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

-DisableWildcardHandling

Deze parameter behandelt jokertekens als letterlijke tekenwaarden. U kunt deze niet combineren met ForceWildcardHandling.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

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

-ForceWildcardHandling

Deze parameter verwerkt jokertekens en kan leiden tot onverwacht gedrag (niet aanbevolen). U kunt deze niet combineren met DisableWildcardHandling.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

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

-Optie

De meest voorkomende optie is Fast .

Geef een queryoptie op:

  • None: standaard
  • Lazy: de cmdlet laadt standaard luie eigenschappen.
  • Fast: Gebruik deze optie om luie eigenschappen niet te laden. Met deze optie kunnen voor sommige klassen sneller resultaten worden gegeven.
  • ExpectResults & ExpectResultsThrowException: Als de query geen resultaten retourneert, geeft u een uitzondering op. Met deze uitzondering wordt doorgaans een script beĆ«indigd.
  • FastExpectResults & LazyExpectResults: deze opties combineren Fast en Lazy met ExpectResults .
  • ExpectResultsSoftFail: Als de query geen resultaten retourneert, geeft u een fout op, maar eindigt u het script niet.

Zie voor meer informatie over luie eigenschappen Configuration Manager luie eigenschappen.

De volgende waarden zijn alleen voor intern gebruik:

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

-Query

Hiermee geeft u een WMI Query Language -instructie (WQL).

Type: String
Parameter Sets: ByWql
Aliases:

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

Hiermee geeft u een SMSProviderSearch-object op.

Type: SmsProviderSearch
Parameter Sets: BySearch
Aliases:

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

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

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

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

CommonParameters

Deze cmdlet biedt ondersteuning voor de meest gebruikte parameters: -Debug, - ErrorAction, - ErrorVariable, - InformationAction, -InformationVariable, - OutVariable,-OutBuffer, - PipelineVariable - Verbose, - WarningAction en -WarningVariable. Zie voor meer informatie about_CommonParameters.

INPUTS

Geen

OUTPUTS

IResultObject[]

IResultObject

OPMERKINGEN

Invoke-CMWmiMethod