Partager via


New-CMQuery

Créez une requête Configuration Manager.

Syntaxe

New-CMQuery
   [-Comment <String>]
   -Expression <String>
   [-LimitToCollectionId <String>]
   -Name <String>
   [-TargetClassName <String>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Utilisez cette applet de commande pour créer une requête dans Configuration Manager.

Les requêtes Configuration Manager définissent une expression WQL (WMI Query Language) pour obtenir des informations à partir de la base de données de site en fonction des critères que vous fournissez. WQL est similaire à SQL, mais passe toujours par le fournisseur SMS au lieu d’être directement dans la base de données. Par conséquent, WQL respecte toujours votre configuration d’accès en fonction du rôle.

Les requêtes peuvent retourner la plupart des types d’objets Configuration Manager, notamment les ordinateurs, les sites, les regroupements, les applications et les données d’inventaire. Pour plus d’informations, consultez Présentation des requêtes dans Configuration Manager.

Par défaut, Configuration Manager inclut plusieurs requêtes. Vous pouvez utiliser l’applet de commande Get-CMQuery pour passer en revue les requêtes par défaut. Pour plus d’exemples d’expressions WQL, consultez Exemples de requêtes WQL.

Remarque

Exécutez des applets de commande Configuration Manager à partir du lecteur de site Configuration Manager, par exemple PS XYZ:\>. Pour plus d’informations, consultez Prise en main.

Exemples

Exemple 1 : Créer une requête pour les serveurs d’une version spécifique

Cet exemple crée une requête nommée Server 2016 qui recherche les clients avec la légende du système d’exploitation qui commence par Microsoft Windows Server 2012. Elle retourne les trois propriétés suivantes : Nom, Nom de la dernière ouverture de session et Légende du système d’exploitation.

New-CMQuery -Name "Server 2016" -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%"' -TargetClassName "SMS_R_System" -LimitToCollectionId "SMS00001"

Exemple 2 : Créer une requête pour les appareils de bureau

Cet exemple crée une requête nommée Appareils de bureau qui recherche des appareils avec des valeurs spécifiques pour la propriété Types de châssis de la classe Boîtier système . Elle retourne plusieurs propriétés et est limitée par une collection spécifique.

New-CMQuery -Name "Desktop devices" -Expression 'select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_SYSTEM_ENCLOSURE on SMS_G_System_SYSTEM_ENCLOSURE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_SYSTEM_ENCLOSURE.ChassisTypes in ( "3", "4", "5","6", "7", "15","16")' -TargetClassName "SMS_R_System" -LimitToCollectionId "XYZ000049"

Paramètres

-Comment

Spécifiez un commentaire facultatif pour identifier davantage la requête dans le site.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Confirm

Une invite de confirmation apparaît avant d’exécuter le cmdlet.

Type:SwitchParameter
Alias:cf
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DisableWildcardHandling

Ce paramètre traite les caractères génériques comme des valeurs de caractère littéral. Vous ne pouvez pas la combiner avec ForceWildcardHandling.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Expression

Spécifiez l’instruction WQL qui définit les attributs à afficher dans les résultats et les critères pour limiter les résultats.

Les instructions WQL incluent souvent des guillemets doubles ("). Définissez donc la valeur de ce paramètre sous la forme d’une chaîne placée entre guillemets simples (').

Pour plus d’exemples, consultez Exemples de requêtes WQL.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ForceWildcardHandling

Ce paramètre traite les caractères génériques et peut entraîner un comportement inattendu (non recommandé). Vous ne pouvez pas la combiner avec DisableWildcardHandling.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-LimitToCollectionId

Spécifiez comment configurer la limitation de collecte pour cette requête :

  • Collection non limitée : définissez la valeur de ce paramètre sur une chaîne vide (""). N’utilisez pas la $null variable intégrée.
  • Limite à la collection : spécifiez l’ID d’une collection. Par exemple, "SMSDM003" pour le regroupement Tous les clients de bureau et de serveur .
  • Invite de collecte : définissez la valeur de ce paramètre sur "<Prompt>".
Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Name

Spécifiez le nom de la requête.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-TargetClassName

Spécifiez le nom de la classe d’objet que vous souhaitez que la requête retourne. De nombreux types d’objets sont disponibles. Le tableau suivant répertorie plusieurs noms de classes courantes avec la description de la console Configuration Manager :

Nom de la classe Description
SMS_R_System Ressource système
SMS_Program Programme
SMS_R_UserGroup Ressource de groupe d’utilisateurs
SMS_R_User Ressource User
SMS_SiteAndSubsites Site et sous-sites
SMS_R_UnknownSystem Ordinateur inconnu
Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-WhatIf

Présente ce qui se produit si le cmdlet s’exécute. L’applet de commande ne s’exécute pas.

Type:SwitchParameter
Alias:wi
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

None

Sorties

IResultObject