Delen via


Invoke-CMQuery

SYNOPSIS

Voer een Configuration Manager uit.

SYNTAX

SearchByValueMandatory (standaard)

Invoke-CMQuery -InputObject <IResultObject> [-LimitToCollectionId <String>] [-DisableWildcardHandling]
 [-ForceWildcardHandling] [-WhatIf] [-Confirm] [<CommonParameters>]

SearchByIdMandatory

Invoke-CMQuery -Id <String> [-LimitToCollectionId <String>] [-DisableWildcardHandling] [-ForceWildcardHandling]
 [-WhatIf] [-Confirm] [<CommonParameters>]

SearchByNameMandatory

Invoke-CMQuery [-LimitToCollectionId <String>] -Name <String> [-DisableWildcardHandling]
 [-ForceWildcardHandling] [-WhatIf] [-Confirm] [<CommonParameters>]

DESCRIPTION

Gebruik deze cmdlet om een query uit te voeren op de Configuration Manager site. Configuration Manager query's definiëren een WMI Query Language -expressie (WQL) om informatie op te halen uit de sitedatabase op basis van de criteria die u opvraagt. WQL is vergelijkbaar met SQL, maar gaat nog steeds via de SMS-provider in plaats van rechtstreeks naar de database. WQL houdt zich dus nog steeds aan uw op rollen gebaseerde toegangsconfiguratie.

Wanneer u een query uitvoert, verwerkt de site de WQL-expressie en worden de resultaten in PowerShell retourneert. Afhankelijk van de structuur van de WQL-instructie kan de indeling van de resultaten variëren.

Query's kunnen de meeste typen objecten Configuration Manager, waaronder computers, sites, verzamelingen, toepassingen en inventarisgegevens. Zie Inleiding tot query's in Configuration Manager.

Notitie

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

EXAMPLES

Voorbeeld 1: een standaardquery weergeven en uitvoeren

In dit voorbeeld ziet u eerst de cmdlet Get-CMQuery om de eigenschappen van de standaardquery, Deze site en de subsites ervan weer te geven.

Vervolgens wordt de invoke-CMQuery-cmdlet om dezelfde query uit te voeren en de resultaten weer te geven.

PS XYZ:\> Get-CMQuery -Id "SMS012"

SmsProviderObjectPath          : SMS_Query.QueryID="SMS012"
Comments                       : This site and all its subsites in the ConfigMgr hierarchy
Expression                     : SELECT SiteCode, SiteName, Version, ServerName FROM sms_siteandsubsites
LimitToCollectionID            :
LocalizedCategoryInstanceNames : {}
Name                           : This Site and its Subsites
QueryID                        : SMS012
ResultAliasNames               : {sms_siteandsubsites, sms_siteandsubsites, sms_siteandsubsites, sms_siteandsubsites}
ResultColumnsNames             : {sms_siteandsubsites.SiteCode, sms_siteandsubsites.SiteName,
                                 sms_siteandsubsites.Version, sms_siteandsubsites.ServerName}
TargetClassName                : sms_siteandsubsites

PS XYZ:\> Invoke-CMQuery -Id "SMS012"

SmsProviderObjectPath : SMS_SiteAndSubsites.SiteCode="XYZ"
ServerName            : cmserver.contoso.com
SiteCode              : XYZ
SiteName              : Production primary site
Version               : 5.00.9043.1000

U ziet in de uitvoer van de cmdlet Get-CMQuery dat de WQL-expressie eenvoudig is. Er worden vier kenmerken uit één klasse geselecteerd.

U ziet dan dat de uitvoer van de cmdlet Invoke-CMQuery een eenvoudige tabel is.

Voorbeeld 2: Een complexe query weergeven en uitvoeren

In dit voorbeeld ziet u eerst de cmdlet Get-CMQuery om de eigenschappen van een aangepaste query weer te geven.

Vervolgens wordt de invoke-CMQuery-cmdlet om dezelfde query uit te voeren en de resultaten weer te geven.

PS XYZ:\> Get-CMQuery -Id "XYZ00002"

SmsProviderObjectPath          : SMS_Query.QueryID="XYZ00002"
Comments                       :
Expression                     : select SMS_R_System.Name, SMS_R_System.LastLogonUserName,
                                 SMS_G_System_OPERATING_SYSTEM.Caption from SMS_R_System inner join
                                 SMS_G_System_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceID =
                                 SMS_R_System.ResourceId where SMS_G_System_OPERATING_SYSTEM.Caption like "Microsoft Windows Server 2012%"
LimitToCollectionID            : XYZ0025F
LocalizedCategoryInstanceNames : {}
Name                           : Server 2016
QueryID                        : XYZ00002
ResultAliasNames               : {SMS_R_System, SMS_R_System, SMS_G_System_OPERATING_SYSTEM}
ResultColumnsNames             : {SMS_R_System.Name, SMS_R_System.LastLogonUserName,
                                 SMS_G_System_OPERATING_SYSTEM.Caption}
TargetClassName                : SMS_R_System

PS XYZ:\> Invoke-CMQuery -Id "XYZ00002"


SmsProviderObjectPath         : __GENERIC
SMS_G_System_OPERATING_SYSTEM :
                                instance of SMS_G_System_OPERATING_SYSTEM
                                {
                                        Caption = "Microsoft Windows Server 2012 R2 Datacenter";
                                };

SMS_R_System                  :
                                instance of SMS_R_System
                                {
                                        LastLogonUserName = "jqpublic";
                                        Name = "millcreek01";
                                };

Deze query heeft een complexere expressie die twee klassen aan elkaar kan toevoegen. Het resultaat van de query is dan complexer.

PARAMETERS

-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: 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

-Id

Geef de id op van de query die moet worden uitgevoerd. Bijvoorbeeld "XYZ00006".

Type: String
Parameter Sets: SearchByIdMandatory
Aliases: QueryId

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

-InputObject

Geef een queryobject op dat moet worden uitgevoerd. Gebruik de cmdlet Get-CMQuery om dit object op te halen.

Type: IResultObject
Parameter Sets: SearchByValueMandatory
Aliases:

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

-LimitToCollectionId

Als de query is geconfigureerd om te vragen om de beperkende verzameling, gebruikt u deze parameter om een verzamelings-id op te geven. Als de eigenschap LimitToCollectionID van de query is en u deze parameter niet opgeeft wanneer u de query uitvoert, mislukt de <Prompt> cmdlet.

Type: String
Parameter Sets: (All)
Aliases:

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

-Name

Geef de naam op van de query die moet worden uitgevoerd.

Type: String
Parameter Sets: SearchByNameMandatory
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: None
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

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

OUTPUTS

System.Object

OPMERKINGEN

Export-CMQuery Get-CMQuery Import-CMQuery New-CMQuery Remove-CMQuery Set-CMQuery Inleiding tot query's in Configuration Manager