Query dispositivo per più dispositivi

Usa Query dispositivo per più dispositivi in Microsoft Intune per eseguire query in linguaggio di query Kusto (KQL) nei dati di inventario dei dispositivi e identificare le tendenze nella flotta gestita. Questo articolo illustra i prerequisiti, come creare ed eseguire query nell'interfaccia di amministrazione di Intune, come usare i risultati e quali operatori, funzioni e proprietà sono supportati.

Prima di iniziare

Prerequisiti aggiuntivi per la query del dispositivo per più dispositivi:

Requisiti della piattaforma del dispositivo

Query dispositivo per più dispositivi supporta:

  • Windows
  • Android
    • Dispositivi dedicati di proprietà aziendale (COSU) Android Enterprise
    • Android Enterprise di proprietà aziendale completamente gestito (COBO)
    • Profilo aziendale di proprietà aziendale (COPE) Android Enterprise
  • Mela
    • iOS/iPadOS
    • macOS

Requisiti di configurazione del dispositivo

Query dispositivo per più dispositivi supporta i dispositivi seguenti:

  • Gestito da Intune e contrassegnato come di proprietà dell'azienda.
  • I dispositivi Windows devono disporre di criteri del catalogo delle proprietà distribuiti per raccogliere dati di inventario.
    Per iOS/iPadOS, Android e macOS, i dati vengono raccolti automaticamente e non è necessario distribuire un criterio del catalogo delle proprietà separato.

Requisiti dei ruoli

Per utilizzare la query sul dispositivo per più dispositivi, usare un account con almeno uno dei ruoli seguenti:

  • Operatore Help Desk
  • Ruolo personalizzato che include:
    • L'autorizzazione Dispositivi gestiti/query
    • Autorizzazioni che forniscono visibilità e accesso ai dispositivi gestiti in Intune (ad esempio, organizzazione/lettura, dispositivi gestiti/lettura)

Usare la query sul dispositivo per più dispositivi

  1. Nell'interfaccia di amministrazione di Microsoft Intune, selezionare Dispositivi Query>dispositivo.
  2. Immettere una query nella casella query usando le proprietà e gli operatori supportati.
  3. Selezionare Esegui per eseguire la query.
  4. Visualizza i risultati nella scheda Risultati .
    • Per eseguire parte di una query o una singola query quando sono presenti più query, evidenziare la query da eseguire e selezionare Esegui. Viene eseguita solo la query evidenziata.

È possibile espandere la visualizzazione sul lato sinistro per visualizzare tutte le proprietà disponibili su cui è possibile eseguire query. Selezionare una proprietà per inserirla nella query. È anche possibile ridimensionare il riquadro sinistro e la finestra della query per modificare il layout.

Per altre informazioni sul linguaggio di query Kusto (KQL), vedere Altre informazioni sul linguaggio di query Kusto.

Consiglio

Usa Copilot in Intune per generare query KQL per le query del dispositivo usando le richieste in linguaggio naturale. Per altre informazioni, vedi Query con Copilot nella query del dispositivo.

Risultati e azioni delle query

Dopo aver eseguito una query, i risultati vengono visualizzati nella scheda Risultati . È possibile interagire con i risultati in vari modi:

  • Quando una query restituisce un massimo di 50 elementi, è possibile eseguire ricerche in tutte le righe dei risultati e applicare filtri usando le intestazioni di colonna.
  • Creare gruppi di sicurezza di Microsoft Entra direttamente dai risultati di una query selezionando Aggiungi tutti gli elementi a un gruppo. Questa azione consente di indirizzare dispositivi specifici con criteri di accesso condizionale di Microsoft Entra o criteri di Microsoft Intune.
  • Selezionare Esporta per salvare i risultati in un file .csv. È possibile esportare tutte le colonne o solo le colonne selezionate. È possibile esportare fino a 50.000 risultati in un file.

Query di esempio

Per iniziare, questa sezione fornisce alcune query di esempio. Per accedere alle query di esempio, espandere la sezione query di esempio nella pagina Attività iniziali e selezionare la query da aggiungere alla finestra Query. La sezione seguente mostra l'elenco di query di esempio.

Principali processori per numero di core

Questa query mostra le prime cinque CPU per numero di core.

Cpu
| project Device, ProcessorId, Model, Architecture, CpuStatus, ProcessorType, CoreCount, LogicalProcessorCount, Manufacturer, AddressWidth
| order by CoreCount asc
| take 5

Dispositivi con dischi non protetti

Questa query elenca i dispositivi con dischi non crittografati.

EncryptableVolume
| where ProtectionStatus != "PROTECTED"
| join LogicalDrive on Device

Dispositivi ARM64

Questa query elenca tutti i dispositivi con un processore ARM64.

Cpu
| where Architecture == "ARM64"

Numero di dispositivi in base all'architettura del processore

Questa query fornisce un riepilogo dei dispositivi in base all'architettura della CPU.

Cpu
| summarize DeviceCount = count() by Architecture

Dispositivi principali per capacità della batteria

Questa query elenca i primi 10 dispositivi in base alla capacità della batteria completamente carica.

Battery
| project Device, InstanceName, Manufacturer, Model, SerialNumber, CycleCount,
          DesignedCapacity,
          FullChargedCapacity,
          FullChargedCapacityPercent = (FullChargedCapacity * 100) / DesignedCapacity
| top 10 by FullChargedCapacityPercent asc

Informazioni sulla memoria dei dispositivi

Questa query elenca i dispositivi con memoria fisica e virtuale in GB.

MemoryInfo
| project Device,
          PhysicalMemoryGB = PhysicalMemoryTotalBytes/(1000*1000*1000),
          VirtualMemoryGB = VirtualMemoryTotalBytes/(1000*1000*1000)
| order by PhysicalMemoryGB asc

Numero di dispositivi in base alla versione del sistema operativo

Questa query fornisce un riepilogo dei dispositivi in base alla versione del sistema operativo.

OsVersion| summarize DevicesCount = count() by OsVersion

Informazioni sul BIOS del dispositivo

Questa query elenca i dispositivi in base al produttore del BIOS.

BiosInfo| where Manufacturer contains "Microsoft"

Dispositivi con TPM disabilitato

Questa query elenca i dispositivi con TPM disabilitato.

Tpm | where Enabled != true

Operatori supportati

La query sul dispositivo supporta solo un sottoinsieme degli operatori supportati nel linguaggio di query Kusto (KQL). Attualmente sono supportati i seguenti operatori:

Operatori di tabella

Gli operatori di tabella possono essere usati per filtrare, riepilogare e trasformare i flussi di dati. Sono supportati i seguenti operatori:

Operatore tabella Descrizione
count Restituisce una tabella con un singolo record contenente il numero di record.
distinct Produce una tabella con combinazioni distinte delle colonne specificate dalla tabella di input.
join Unisce le righe di due tabelle per formare una nuova tabella in base ai valori corrispondenti nelle colonne specificate. Sono supportati i seguenti tipi di join:
- innerunique (impostazione predefinita)
- inner
- leftouter
- rightouter
- fullouter
- leftsemi
- rightsemi
- leftanti
- rightanti

Le istruzioni di join supportano una clausola facoltativa on . Negli scenari di query del dispositivo, in genere vengono usati on Device quando si esegue il join di tabelle che contengono un'entità Device . La sintassi comune per join è: LeftTable | join [hints] (RightTable) on Conditions.

Importante: I join che utilizzano on Device.DeviceID non sono più supportati. Le query che attualmente specificano on Device.DeviceId dovrebbero passare all'uso on Devicedi , o omettere la on clausola quando si unisce all'entità Device .

Per altre informazioni, vedere Operatore di join.
order by Ordina le righe della tabella di input in base a una o più colonne.
project Seleziona le colonne da includere, rinominare o eliminare e inserisce nuove colonne calcolate.
take Restituisce fino al numero di righe specificato.
top restituisce i primi N record ordinati in base alle colonne specificate.
where Filtra una tabella in base al subset di righe che soddisfano un predicato.
summarize Produce una tabella che aggrega il contenuto della tabella di input.

Nota

Device è un tipo di entità e non può essere usato direttamente in operatori che richiedono valori scalari (come distinct, summarizee order by). Per questi operatori, usare una proprietà scalare specifica del dispositivo (ad esempio, Device.SerialNumber o Device.OSVersion).

Operatori scalari

Gli operatori scalari possono essere usati per eseguire operazioni su singoli valori. Sono supportati i seguenti operatori:

Operatori Descrizione Esempio
== Uguale 1 == 1, 'aBc' == 'AbC'
!= Diverso 1 != 2, 'abc' != 'abcd'
< Less 1 < 2, 'abc' < 'DEF'
> Greater 2 > 1, 'xyz' > 'XYZ'
<= Minore o uguale a 1 <= 2, 'abc' <= 'abc'
>= Maggiore o uguale 2 >= 1, 'abc' >= 'ABC'
+ Aggiunta 2 + 1, now() + 1d
- Sottrazione 2 - 1, now() - 1h
* Moltiplicazione 2 * 2
/ Dividere 2 / 1
% Modulo 2 % 1
like LHS contiene una corrispondenza per RHS 'abc' like '%B%'
contains La RHS si presenta come una sottosequenza della LHS 'abc' contains 'b'
!contains La RHS non si verifica nella LHS 'team' !contains 'i'
startswith RHS è una sottosequenza iniziale di LHS 'team' startswith 'tea'
!startswith La RHS non è una sottosequenza iniziale della LHS 'abc' !startswith 'bc'
endswith RHS è una sottosequenza di chiusura di LHS 'abc' endswith 'bc'
!endswith La RHS non è una sottosequenza di chiusura della LHS 'abc' !endswith 'a'
and Vero se e solo se i valori RHS e LHS sono true (1 == 1) and (2 == 2)
or Vero se e solo se il valore destro o sinistro è vero (1 == 1) or (1 == 2)

Funzioni di aggregazione

Le funzioni di aggregazione possono essere usate per riepilogare i dati. Sono supportate le seguenti funzioni:

Funzione Descrizione
avg() restituisce la media dei valori del gruppo
count() restituisce un conteggio dei record per gruppo di riepilogo
countif() Restituisce un conteggio di righe per cui il predicato restituisce vero
dcount() restituisce il numero di valori distinti nel gruppo
max() restituisce il valore massimo per tutto il gruppo
maxif() Restituisce il valore massimo per il gruppo per il quale il predicato restituisce vero
min() restituisce il valore minimo nell'intero gruppo
minif() Restituisce il valore minimo nel gruppo per il quale il predicato restituisce vero
percentile() restituisce una stima del percentile di rango più prossimo specificato della popolazione definita da Espressione
sum() restituisce la somma dei valori nel gruppo
sumif() Restituisce una somma di Espressione per cui il predicato restituisce vero

Funzioni scalari

Le funzioni scalari possono essere usate per eseguire operazioni su singoli valori. Sono supportate le seguenti funzioni:

Funzione Descrizione
ago() Sottrazione dell'intervallo di tempo specificato dall'ora UTC corrente.
bin() Arrotonda i valori per difetto a un numero di multiplo datetime di una determinata dimensione del contenitore.
case() Valuta un elenco di predicati e restituisce la prima espressione di risultato il cui predicato è soddisfatto.
datetime_add() Calcola un nuovo datetime da un datepart specificato moltiplicato per un importo specificato, aggiunto a un datetime specificato. I valori negativi per il parametro amount non sono supportati.
datetime_diff() Calcola la differenza tra due valori datetime.
iif() Valuta il primo argomento e restituisce il valore del secondo o del terzo argomento, a seconda che il predicato sia stato valutato come vero (secondo) o falso (terzo).
indexof() Segnala l'indice in base zero della prima occorrenza di una stringa specificata all'interno della stringa di input.
isnotnull() Valuta il suo unico argomento e restituisce un valore booleano che indica se l'argomento restituisce un valore diverso da Null.
isnull() Valuta il suo unico argomento e restituisce un valore booleano che indica se l'argomento restituisce un valore Null.
now() Restituisce l'ora UTC corrente.
strcat() Concatena tra 1 e 64 argomenti.
strlen() Restituisce la lunghezza, in caratteri, della stringa di input.
substring() Estrae una sottostringa da una stringa di origine a partire da un indice fino alla fine della stringa.
tostring() Converte l'input in una rappresentazione di stringa.

Proprietà supportate

La query sul dispositivo supporta le entità seguenti. Per altre informazioni sulle proprietà supportate per ogni entità, vedere Schema di Intune Data Platform.

  • Apple Auto Setup Admin Accounts
  • Apple Device States
  • Apple Update Settings
  • Battery
  • Bios Info
  • Bluetooth
  • Cellular
  • CPU
  • Device Storage
  • Disk Drive
  • Encryptable Volume
  • Local AI Agent
  • Logical Drive
  • Memory Info
  • Network Adapter
  • Os Version
  • Shared iPad
  • Sim Info
  • System Enclosure
  • SystemInfo
  • Time
  • Tpm
  • Video Controller
  • Windows Qfe

Entità dispositivo

La query dispositivo per più dispositivi supporta un'entità collegata. L'entità Device può essere utilizzata con tutte le altre entità supportate. L'entità dispositivo supporta le seguenti proprietà:

Proprietà Tipo Descrizione
DeviceId Stringa ID univoco generato da Intune nell'ambito della registrazione dei dispositivi.
EntraDeviceId Stringa ID univoco generato da Microsoft Entra nell'ambito della registrazione o dell'adesione a Microsoft Entra.
ManagementName Stringa Nome di dispositivo facilmente riconoscibile usato solo nell'interfaccia di amministrazione di Intune. La modifica di questo nome non cambierà il nome del dispositivo o il nome nel Portale aziendale.
DeviceName Stringa Nome del dispositivo.
SerialNumber Stringa Numero di serie del dispositivo
Manufacturer Stringa Produttore del dispositivo
Model Stringa Modello del dispositivo
OSDescription Stringa Descrizione completa dell'edizione del sistema operativo
OSVersion Stringa La versione del sistema operativo nel dispositivo
EnrollmentProfileName Stringa Nome del profilo di registrazione assegnato al dispositivo. Il valore predefinito è una stringa vuota che indica che al dispositivo non è stato assegnato alcun profilo di registrazione.
EnrolledDateTime Datetime La data e ora in cui il dispositivo è stato registrato in Intune.
CertExpirationDateTime Datetime Segnala la data di scadenza del certificato di gestione dei dispositivi.
EnrolledByUserId Stringa Identificatore univoco dell'utente che ha registrato il dispositivo
PrimaryUserId Stringa Identificatore univoco dell'utente associato al dispositivo.
LastLoggedOnUserId Stringa Identificatore univoco dell'ultimo accesso al dispositivo.
InCompliancePeriodUntilDateTime Datetime La data e ora in cui scade il periodo di tolleranza per la conformità del dispositivo
DeviceCategoryId Stringa Nome visualizzato categoria dispositivo. L'impostazione predefinita corrisponde a un campo vuoto.
LastSeenDateTime Stringa Data e ora dell'ultima connessione del dispositivo a Intune.
Ownership Stringa Proprietà del dispositivo.

L'entità Device consente di fare riferimento alle informazioni sul dispositivo associate a ogni riga risultante senza dover eseguire esplicitamente il join a una tabella del dispositivo.

Per impostazione predefinita, i risultati della query includono una colonna di entità che fornisce il Device contesto del dispositivo per ogni riga. Operatori come project, summarize, oppure distinct possono modificare le colonne restituite.

Device Rappresenta il dispositivo associato alla riga risultante e vi si può fare riferimento direttamente come colonna di tipo entità. Quando viene visualizzata nei risultati della query, l'entità Device viene mostrata tramite un identificatore descrittivo, come il nome del dispositivo, per semplificare l'identificazione dei dispositivi.

È possibile fare riferimento alle proprietà dell'entità Device nelle query usando Device.[Property].

La query seguente restituisce tutte le informazioni per i DiskDrive dispositivi con un numero di serie specifico:

DiskDrive
| where Device.SerialNumber == "123"

La query seguente proietta l'entità Device e la Manufacturer proprietà dall'entità DiskDrive :


DiskDrive
| project Device, Manufacturer

Per impostazione predefinita, i risultati della query includono un'entità Device che rappresenta il dispositivo associato a ogni riga. L'entità Device è una colonna di tipo entità e non viene risolta in modo implicito in una proprietà scalare specifica. Quando si ordinano o filtrano i risultati, fare riferimento in modo esplicito alla proprietà del dispositivo che si desidera utilizzare. Ad esempio, questa query ordina i risultati in base al nome del dispositivo:


MemoryInfo
| order by Device.DeviceName

Allo stesso modo, per filtrare in base al nome del dispositivo, fare riferimento direttamente alla DeviceName proprietà:


Cpu
| where Device.DeviceName == "Desktop123"

Limitazioni note

  • L'uso di colonne di tipo entità, ad esempio Device nelle funzioni di aggregazione, può mostrare una sottolineatura rossa nell'editor perché le funzioni di aggregazione richiedono valori scalari. Per evitare questo errore, fare riferimento a una proprietà scalare specifica dell'entità. Ad esempio:

    Cpu
    | summarize max(CpuUsage) by Device.Manufacturer
    
  • Le query che usano l'operatore join con $left i parametri AND $right possono mostrare una sottolineatura rossa nell'editor. Tuttavia, la query può comunque essere eseguita e restituire i risultati come previsto.

  • Una singola query può contenere al massimo tre join operatori. Le query con più join hanno esito negativo.

  • Per una query vengono restituiti al massimo ~50.000 record.

  • È possibile inviare un massimo di 10 query al minuto. Le altre query nello stesso minuto hanno esito negativo.

  • È possibile inviare un massimo di 1.000 query al mese.

  • I valori negativi per il amount parametro della datetime_add() funzione non sono supportati.

  • Fare riferimento a una variabile generata da una funzione di aggregazione senza assegnarle un nome esplicito può causare un errore di query. Assegnare esplicitamente un nome alla variabile consente alla query di avere esito positivo. Ad esempio:

    • La query Device | summarize dcount(DeviceId) | order by dcount_DeviceId non riesce.
    • La query Device | summarize DCountDeviceIdRename = dcount(DeviceId) | order by DCountDeviceIdRename ha esito positivo.
    • L'assistenza NL2KQL per l'entità "Local AI Agent" non è attualmente supportata.