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
: standaardLazy
: 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 combinerenFast
enLazy
metExpectResults
.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
-Search
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.