Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Utilisez l’interrogation d’appareils pour plusieurs appareils dans Microsoft Intune pour exécuter des requêtes en langage de requête Kusto (KQL) dans les données d’inventaire des appareils et identifier les tendances dans votre flotte gérée. Cet article explique les conditions préalables, comment créer et exécuter des requêtes dans le Centre d’administration Intune, comment utiliser les résultats et quels opérateurs, fonctions et propriétés sont pris en charge.
Avant de commencer
- Vérifiez que votre environnement répond à toutes les conditions préalables.
Conditions préalables supplémentaires pour la requête d’appareil pour plusieurs appareils :
Configuration requise pour la plateforme d’appareil
L’interrogation d’appareil pour plusieurs appareils prend en charge :
- Windows
- Android
- Appareils Android Entreprise dédiés appartenant à l’entreprise (COSU)
- Appareils Android Entreprise complètement gérés appartenant à l’entreprise (COBO)
- Profil professionnel Android Enterprise appartenant à l’entreprise (COPE)
- Apple
- iOS/iPadOS
- macOS
Configuration requise pour les appareils
La requête d’appareil pour plusieurs appareils prend en charge les appareils qui sont :
- Géré par Intune et marqué comme appartenant à l’entreprise.
- Les appareils Windows doivent disposer d’une stratégie de catalogue de propriétés déployée pour collecter les données d’inventaire.
Pour iOS/iPadOS, Android et macOS, les données sont collectées automatiquement et une stratégie de catalogue de propriétés distincte n’a pas besoin d’être déployée.
Exigences des rôles
Pour utiliser la requête d’appareil pour plusieurs appareils, utilisez un compte avec au moins un des rôles suivants :
- Opérateur du support technique
- Rôle personnalisé qui inclut :
- L’autorisation Appareils gérés/Requête
- Autorisations qui fournissent une visibilité et un accès aux appareils gérés dans Intune (par exemple, organisation/lecture, appareils gérés/lecture)
Utiliser l’interrogation d’appareil pour plusieurs appareils
- Dans le Centre d’administration Microsoft Intune, sélectionnezRequête sur l’appareildes appareils>.
- Entrez une requête dans la zone de requête à l’aide des propriétés et opérateurs pris en charge.
- Sélectionnez Exécuter pour exécuter la requête.
- Afficher les résultats dans l’onglet Résultats .
- Pour exécuter une partie d’une requête ou une seule requête lorsque plusieurs requêtes sont présentes, mettez en surbrillance la requête que vous souhaitez exécuter et sélectionnez Exécuter. Seule la requête mise en surbrillance s’exécute.
Vous pouvez développer l’affichage sur le côté gauche pour afficher toutes les propriétés disponibles que vous pouvez interroger. Sélectionnez une propriété pour l’insérer dans votre requête. Vous pouvez également redimensionner le volet gauche et la fenêtre de requête pour ajuster la disposition.
Pour plus d’informations sur le langage de requête Kusto (KQL), consultez En savoir plus sur le langage de requête Kusto.
Conseil
Utilisez Copilot dans Intune pour générer des requêtes KQL pour la requête d’appareil à l’aide de requêtes en langage naturel. Pour en savoir plus, consultez Requête avec Copilot dans la requête d’appareil.
Résultats et actions de la requête
Après l’exécution d’une requête, les résultats apparaissent dans l’onglet Résultats . Vous pouvez interagir avec les résultats de plusieurs façons :
- Lorsqu’une requête renvoie 50 éléments ou moins, vous pouvez effectuer une recherche dans toutes les lignes des résultats et appliquer des filtres à l’aide des en-têtes de colonne.
- Créez des groupes de sécurité Microsoft Entra directement à partir des résultats d’une requête en sélectionnant Ajouter tous les éléments à un groupe. Cette action vous permet de cibler des appareils spécifiques avec des stratégies d’accès conditionnel Microsoft Entra ou des stratégies Microsoft Intune.
- Sélectionnez Exporter pour enregistrer les résultats dans un fichier .csv. Vous pouvez exporter toutes les colonnes ou seulement des colonnes sélectionnées. Vous pouvez exporter jusqu’à 50 000 résultats dans un fichier.
Exemples de requêtes
Pour vous aider à démarrer, cette section fournit quelques exemples de requêtes. Pour accéder aux exemples de requêtes, développez la section d’exemples de requêtes sous la page Prise en main , puis sélectionnez la requête à ajouter à la fenêtre de requête. La section suivante présente la liste des exemples de requêtes.
Principaux processeurs par nombre de cœurs
Cette requête affiche les cinq principaux processeurs par nombre de cœurs.
Cpu
| project Device, ProcessorId, Model, Architecture, CpuStatus, ProcessorType, CoreCount, LogicalProcessorCount, Manufacturer, AddressWidth
| order by CoreCount asc
| take 5
Appareils avec disques non protégés
Cette requête répertorie les appareils avec des disques non chiffrés.
EncryptableVolume
| where ProtectionStatus != "PROTECTED"
| join LogicalDrive on Device
Périphériques ARM64
Cette requête répertorie tous les appareils avec un processeur ARM64.
Cpu
| where Architecture == "ARM64"
Nombre d’appareils par architecture de processeur
Cette requête fournit un résumé des appareils par architecture de processeur.
Cpu
| summarize DeviceCount = count() by Architecture
Meilleurs appareils par capacité de batterie
Cette requête répertorie les 10 principaux appareils par capacité de batterie complètement chargée.
Battery
| project Device, InstanceName, Manufacturer, Model, SerialNumber, CycleCount,
DesignedCapacity,
FullChargedCapacity,
FullChargedCapacityPercent = (FullChargedCapacity * 100) / DesignedCapacity
| top 10 by FullChargedCapacityPercent asc
Informations de mémoire des appareils
Cette requête répertorie les appareils avec mémoire physique et virtuelle en Go.
MemoryInfo
| project Device,
PhysicalMemoryGB = PhysicalMemoryTotalBytes/(1000*1000*1000),
VirtualMemoryGB = VirtualMemoryTotalBytes/(1000*1000*1000)
| order by PhysicalMemoryGB asc
Nombre d’appareils par version du système d’exploitation
Cette requête fournit un résumé des appareils par version du système d’exploitation.
OsVersion| summarize DevicesCount = count() by OsVersion
Informations sur le BIOS de l’appareil
Cette requête répertorie les périphériques en fonction du fabricant du BIOS.
BiosInfo| where Manufacturer contains "Microsoft"
Appareils désactivés du TPM
Cette requête répertorie les appareils pour lesquels le module TPM est désactivé.
Tpm | where Enabled != true
Opérateurs pris en charge
La requête d’appareil prend en charge uniquement un sous-ensemble des opérateurs pris en charge dans le langage de requête Kusto (KQL). Les opérateurs suivants sont actuellement pris en charge :
Opérateurs de table
Les opérateurs de table peuvent être utilisés pour filtrer, résumer et transformer des flux de données. Les opérateurs suivants sont pris en charge :
| Opérateur de table | Description |
|---|---|
count |
Renvoie une table avec un seul enregistrement contenant le nombre d’enregistrements. |
distinct |
Génère une table avec des combinaisons distinctes des colonnes fournies à partir de la table d’entrée. |
join |
Fusionne les lignes de deux tables pour former une nouvelle table basée sur les valeurs correspondantes dans les colonnes spécifiées. Les types de jointures suivants sont pris en charge : - innerunique (par défaut)- inner- leftouter- rightouter- fullouter- leftsemi- rightsemi- leftanti- rightantiLes instructions Join prennent en charge une clause facultative on . Dans les scénarios de requête d’appareil, vous utilisez on Device généralement pour joindre des tables contenant une Device entité. La syntaxe courante pour join est : LeftTable | join [hints] (RightTable) on Conditions.Important : Les jointures qui utilisent on Device.DeviceID ne sont plus prises en charge. Les requêtes qui spécifient on Device.DeviceId actuellement doivent passer à l’utilisation on Devicede , ou omettre la clause lors de on la jonction sur l’entité Device .Pour plus d’informations, voir Opérateur de jointure. |
order by |
Trie les lignes de la table d’entrée sur une ou plusieurs colonnes. |
project |
Sélectionne les colonnes à inclure, renommer ou supprimer, et insère de nouvelles colonnes calculées. |
take |
Retourne jusqu’au nombre de lignes spécifié. |
top |
Renvoie les N premiers enregistrements triés selon les colonnes spécifiées. |
where |
Filtre une table sur le sous-ensemble de lignes qui répondent à un prédicat. |
summarize |
Génère une table qui agrège le contenu de la table d’entrée. |
Remarque
Device est un type d’entité qui ne peut pas être utilisé directement dans les opérateurs qui nécessitent des valeurs scalaires (telles distinctque , summarizeet order by). Pour ces opérateurs, utilisez une propriété scalaire spécifique du périphérique (par exemple, Device.SerialNumber ou Device.OSVersion).
Opérateurs scalaires
Les opérateurs scalaires peuvent être utilisés pour effectuer des opérations sur des valeurs individuelles. Les opérateurs suivants sont pris en charge :
| Opérateurs | Description | Exemple |
|---|---|---|
== |
Equal |
1 == 1, 'aBc' == 'AbC' |
!= |
Différent de |
1 != 2, 'abc' != 'abcd' |
< |
Moins |
1 < 2, 'abc' < 'DEF' |
> |
Plus grand |
2 > 1, 'xyz' > 'XYZ' |
<= |
Inférieur ou égal |
1 <= 2, 'abc' <= 'abc' |
>= |
Supérieur ou égal |
2 >= 1, 'abc' >= 'ABC' |
+ |
Additionner |
2 + 1, now() + 1d |
- |
Soustraire |
2 - 1, now() - 1h |
* |
Multiplier | 2 * 2 |
/ |
Diviser | 2 / 1 |
% |
Modulo | 2 % 1 |
like |
LHS contient une correspondance pour RHS | 'abc' like '%B%' |
contains |
RHS se présente comme une sous-séquence de LHS | 'abc' contains 'b' |
!contains |
RHS ne se produit pas dans LHS | 'team' !contains 'i' |
startswith |
RHS est une sous-séquence initiale de LHS | 'team' startswith 'tea' |
!startswith |
RHS n’est pas une sous-séquence initiale de LHS | 'abc' !startswith 'bc' |
endswith |
RHS est une sous-séquence fermante de LHS | 'abc' endswith 'bc' |
!endswith |
RHS n’est pas une sous-séquence de fermeture de LHS | 'abc' !endswith 'a' |
and |
True si et seulement si RHS et LHS sont vrais | (1 == 1) and (2 == 2) |
or |
True si et seulement si RHS ou LHS a la valeur true | (1 == 1) or (1 == 2) |
Fonctions d’agrégation
Les fonctions d’agrégation peuvent être utilisées pour synthétiser des données. Les fonctions suivantes sont prises en charge :
| Fonction | Description |
|---|---|
avg() |
renvoie la moyenne des valeurs sur un groupe. |
count() |
Renvoie le nombre d’enregistrements par groupe de totalisation. |
countif() |
Renvoie un nombre de lignes pour lesquelles Predicate est évalué comme vrai. |
dcount() |
renvoie le nombre de valeurs distinctes dans le groupe. |
max() |
Renvoie la valeur maximale dans le groupe |
maxif() |
Renvoie la valeur maximale dans le groupe pour lequel prédicat est évalué comme vrai. |
min() |
renvoie la valeur minimale dans le groupe. |
minif() |
Renvoie la valeur minimale dans le groupe pour lequel prédicat est évalué comme vrai. |
percentile() |
Renvoie une estimation pour le centile de rang le plus proche spécifié de la population définie par Expr. |
sum() |
renvoie la somme des valeurs du groupe dans un groupe. |
sumif() |
Renvoie une somme d’Expr pour laquelle prédicat est évalué comme vrai. |
Fonctions scalaires
Les fonctions scalaires peuvent être utilisées pour effectuer des opérations sur des valeurs individuelles. Les fonctions suivantes sont prises en charge :
| Fonction | Description |
|---|---|
ago() |
Soustrait l’intervalle de temps donné de l’heure UTC actuelle. |
bin() |
Arrondit les valeurs au multiple de date/heure inférieur d’une taille de compartiment donnée. |
case() |
Évalue une liste de prédicats et renvoie la première expression de résultat dont le prédicat est satisfait. |
datetime_add() |
Calcule une nouvelle date/heure à partir d’une partie de date spécifiée multipliée par un montant spécifié, ajouté à une date/heure spécifiée. Les valeurs négatives pour le paramètre amount ne sont pas prises en charge. |
datetime_diff() |
Calcule la différence entre deux valeurs de date/heure. |
iif() |
Évalue le premier argument et renvoie la valeur du deuxième ou du troisième argument selon que le prédicat est évalué à vrai (deuxième) ou faux (troisième). |
indexof() |
Signale l’index en base zéro de la première occurrence d’une chaîne spécifiée dans la chaîne d’entrée. |
isnotnull() |
Évalue son seul argument et renvoie une valeur booléenne indiquant si l’argument est évalué à une valeur non nulle. |
isnull() |
Évalue son seul argument et renvoie une valeur booléenne indiquant si l’argument est évalué à une valeur nulle. |
now() |
Renvoie l’heure UTC actuelle. |
strcat() |
Concatène entre 1 et 64 arguments. |
strlen() |
Renvoie la longueur, en caractères, de la chaîne d’entrée. |
substring() |
Extrait une sous-chaîne d’une chaîne source à partir d’un index jusqu’à la fin de la chaîne. |
tostring() |
Convertit l’entrée en une représentation sous forme de chaîne. |
Propriétés prises en charge
La requête d’appareil prend en charge les entités suivantes. Pour en savoir plus sur les propriétés prises en charge pour chaque entité, consultez Schéma de plateforme de données Intune.
Apple Auto Setup Admin AccountsApple Device StatesApple Update SettingsBatteryBios InfoBluetoothCellularCPUDevice StorageDisk DriveEncryptable VolumeLocal AI AgentLogical DriveMemory InfoNetwork AdapterOs VersionShared iPadSim InfoSystem EnclosureSystemInfoTimeTpmVideo ControllerWindows Qfe
Entité d’appareil
La requête d’appareil pour plusieurs appareils prend en charge une entité liée. L’entité Appareil peut être utilisée avec toutes les autres entités prises en charge. L’entité d’appareil prend en charge les propriétés suivantes :
| Propriété | Type | Description |
|---|---|---|
DeviceId |
String | ID unique généré par Intune dans le cadre de l’inscription des appareils. |
EntraDeviceId |
String | ID unique généré par Microsoft Entra dans le cadre de l’inscription ou de l’adhésion à Microsoft Entra. |
ManagementName |
String | Nom d’appareil facilement reconnaissable utilisé uniquement dans le centre d’administration Intune. La modification de ce nom ne modifie pas le nom de l’appareil ou le nom dans le Portail d’entreprise. |
DeviceName |
String | Nom de l’appareil |
SerialNumber |
String | Numéro de série de l’appareil |
Manufacturer |
String | Fabricant de l’appareil |
Model |
String | Modèle d’appareil. |
OSDescription |
String | Description complète de l’édition du système d’exploitation |
OSVersion |
String | Version du système d’exploitation sur l’appareil |
EnrollmentProfileName |
String | Nom du profil d’inscription affecté à l’appareil. La valeur par défaut est une chaîne vide indiquant qu’aucun profil d’inscription n’a été affecté à l’appareil. |
EnrolledDateTime |
DateHeure | Date et heure de l’inscription de l’appareil dans Intune. |
CertExpirationDateTime |
DateHeure | Signale la date d’expiration du certificat de gestion des appareils. |
EnrolledByUserId |
String | Identificateur unique pour l’utilisateur qui a inscrit l’appareil |
PrimaryUserId |
String | Identifiant unique de l’utilisateur associé à l’appareil. |
LastLoggedOnUserId |
String | Identificateur unique de l’utilisateur qui s’est connecté à l’appareil en dernier. |
InCompliancePeriodUntilDateTime |
DateHeure | Date et heure d’expiration de la période de grâce de conformité de l’appareil |
DeviceCategoryId |
String | Nom d’affichage de la catégorie d’appareil. Il s'agit par défaut d'une chaîne vide. |
LastSeenDateTime |
String | Date et heure de dernière connexion de l’appareil à Intune. |
Ownership |
String | Propriété de l’appareil. |
L’entité Device vous permet de référencer les informations d’appareil associées à chaque ligne résultante sans avoir besoin de joindre explicitement une table d’appareils.
Par défaut, les résultats de la requête incluent une colonne d’entité qui fournit le Device contexte de l’appareil pour chaque ligne. Les opérateurs tels que project, summarizeou distinct peuvent modifier les colonnes renvoyées.
Device Représente l’appareil associé à la ligne résultante et peut être référencé directement en tant que colonne de type d’entité. Lorsqu’elle est affichée dans les résultats de la requête, l’entité Device est affichée à l’aide d’un identificateur convivial, tel que le nom de l’appareil, pour faciliter l’identification des appareils.
Vous pouvez référencer les propriétés de l’entité Device dans les requêtes à l’aide Device.[Property]de .
La requête suivante renvoie toutes les informations pour les DiskDrive appareils avec un numéro de série spécifique :
DiskDrive
| where Device.SerialNumber == "123"
La requête suivante projette l’entité Device et la Manufacturer propriété à partir de l’entité DiskDrive :
DiskDrive
| project Device, Manufacturer
Par défaut, les résultats de la requête incluent une Device entité qui représente l’appareil associé à chaque ligne. L’entité Device est une colonne de type entité et ne se résout pas implicitement en une propriété scalaire spécifique.
Lorsque vous triez ou filtrez les résultats, faites explicitement référence à la propriété de l’appareil que vous souhaitez utiliser. Par exemple, cette requête classe les résultats par nom d’appareil :
MemoryInfo
| order by Device.DeviceName
De même, pour filtrer par nom d’appareil, référencez directement la DeviceName propriété :
Cpu
| where Device.DeviceName == "Desktop123"
Limitations connues
L’utilisation de colonnes de type entité telles que dans
Deviceles fonctions d’agrégation peut afficher un soulignement rouge dans l’éditeur, car les fonctions d’agrégation nécessitent des valeurs scalaires. Pour éviter cela, référencez une propriété scalaire spécifique de l’entité. Par exemple :Cpu | summarize max(CpuUsage) by Device.ManufacturerLes requêtes qui utilisent l’opérateur
joinavec$leftles paramètres et$rightpeuvent afficher un soulignement rouge dans l’éditeur. Toutefois, la requête peut toujours s’exécuter et renvoyer les résultats attendus.Une même requête peut contenir au maximum trois
joinopérateurs. Les requêtes avec plus de jointures échouent.Un maximum de ~50 000 enregistrements sont renvoyés pour une requête.
Un maximum de 10 requêtes peut être soumis par minute. Les requêtes supplémentaires dans la même minute échouent.
Vous pouvez soumettre plus de 1 000 requêtes par mois.
Les valeurs négatives pour le
amountparamètre de ladatetime_add()fonction ne sont pas prises en charge.Le référencement d’une variable générée par une fonction d’agrégation sans la nommer explicitement peut entraîner l’échec d’une requête. Le fait de nommer explicitement la variable permet à la requête de réussir. Par exemple :
- La requête
Device | summarize dcount(DeviceId) | order by dcount_DeviceIdéchoue. - La requête
Device | summarize DCountDeviceIdRename = dcount(DeviceId) | order by DCountDeviceIdRenameréussit. - L’assistance NL2KQL pour l’entité « Agent IA local » n’est actuellement pas prise en charge.
- La requête