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