Condividi tramite


Query del dispositivo per più dispositivi

Nota

Questa funzionalità è disponibile come componente aggiuntivo Intune. Per altre informazioni, vedere Usare le funzionalità del componente aggiuntivo Intune Suite.

La query del dispositivo per più dispositivi consente di ottenere informazioni dettagliate complete sull'intera flotta di dispositivi usando Linguaggio di query Kusto (KQL) per eseguire query sui dati di inventario raccolti per i dispositivi.

Prima di iniziare

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

Requisiti della piattaforma del dispositivo

La query del dispositivo per più dispositivi supporta:

  • Windows
  • Android
    • Dispositivi dedicati di proprietà dell'azienda Android Enterprise (COSU)
    • Android Enterprise di proprietà aziendale completamente gestita (COBO)
    • Profilo di lavoro di proprietà dell'azienda Android Enterprise (COPE)
  • Mela
    • iOS/iPadOS
    • macOS

Requisiti di configurazione del dispositivo

La query del dispositivo per più dispositivi supporta i dispositivi che sono:

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

Requisiti dei ruoli

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

  • Operatore help desk
  • Ruolo personalizzato che include:
    • Autorizzazione Dispositivi gestiti/Query
    • Autorizzazioni che offrono visibilità e accesso ai dispositivi gestiti in Intune (ad esempio, organizzazione/lettura, dispositivi gestiti/lettura)

Usare la query del dispositivo per più dispositivi

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

È possibile espandere la visualizzazione a sinistra per visualizzare tutte le proprietà su cui è possibile eseguire query. Selezionare uno qualsiasi da popolare nella query. È possibile selezionare e trascinare i bordi sia del lato sinistro che della finestra di query per apportare eventuali modifiche.

Dopo aver eseguito una query, selezionare Esporta per salvare i risultati in un file .CSV. È possibile esportare tutte le colonne nel risultato della query o solo le colonne selezionate. È possibile esportare fino a 50.000 risultati in un file.

Per altre informazioni su Linguaggio di query Kusto, vedere Altre informazioni sui Linguaggio di query Kusto.

Consiglio

Usare Copilot in Intune per generare query KQL per query sul dispositivo usando richieste in linguaggio naturale. Per altre informazioni, vedere Eseguire query con Copilot nella query sul dispositivo.

Query di esempio

Per iniziare, in questa sezione vengono fornite alcune query di esempio. Per accedere alle query di esempio, espandere la sezione query di esempio nella pagina Introduzione e selezionare quella da aggiungere alla finestra della query. La sezione seguente illustra l'elenco di query di esempio.

Processori principali 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 in base alla 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 per 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 dei dispositivi

Questa query elenca i dispositivi basati sul produttore del BIOS.

BiosInfo| where Manufacturer contains "Microsoft"

Dispositivi TPM disabilitati

Questa query elenca i dispositivi con TPM disabilitato.

Tpm | where Enabled != true

Operatori supportati

La query del dispositivo supporta solo un subset degli operatori supportati nel Linguaggio di query Kusto (KQL). Attualmente sono supportati gli operatori seguenti:

Operatori di tabella

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

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

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

Importante: I join che usano on Device.DeviceID non sono più supportati. Le query attualmente specificate on Device.DeviceId devono passare all'uso on Devicedi omettere la clausola quando si esegue il on join nell'entità Device .

Per altre informazioni, vedere Operatore 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 specificato di righe.
top Restituisce i primi N record ordinati in base alle colonne specificate.
where Filtra una tabella nel 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 negli operatori che richiedono valori scalari , ad distinctesempio , summarizee order by. Per questi operatori, usare una proprietà scalare specifica del dispositivo , Device.SerialNumber ad esempio o Device.OSVersion.

Operatori scalari

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

Operatori Descrizione Esempio
== Uguale 1 == 1, 'aBc' == 'AbC'
!= Non uguale 1 != 2, 'abc' != 'abcd'
< Less 1 < 2, 'abc' < 'DEF'
> Greater 2 > 1, 'xyz' > 'XYZ'
<= Minore o uguale 1 <= 2, 'abc' <= 'abc'
>= Maggiore o uguale 2 >= 1, 'abc' >= 'ABC'
+ Aggiunta 2 + 1, now() + 1d
- Sottrarre 2 - 1, now() - 1h
* Moltiplicare 2 * 2
/ Dividere 2 / 1
% Modulo 2 % 1
like LHS contiene una corrispondenza per RHS 'abc' like '%B%'
contains RHS si verifica come sottosequenza di LHS 'abc' contains 'b'
!contains RHS non si verifica in LHS 'team' !contains 'i'
startswith RHS è una sottosequenza iniziale di LHS 'team' startswith 'tea'
!startswith RHS non è una sottosequenza iniziale di LHS 'abc' !startswith 'bc'
endswith RHS è una sottosequenza di chiusura di LHS 'abc' endswith 'bc'
!endswith RHS non è una sottosequenza di chiusura di LHS 'abc' !endswith 'a'
and True se e solo se RHS e LHS sono true (1 == 1) and (2 == 2)
or True se e solo se RHS o LHS è true (1 == 1) or (1 == 2)

Funzioni di aggregazione

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

Funzione Descrizione
avg() Restituisce la media dei valori nel gruppo
count() Restituisce un conteggio dei record per gruppo di riepilogo
countif() Restituisce un conteggio di righe per le quali predicato restituisce true
dcount() Restituisce il numero di valori distinti nel gruppo
max() Restituisce il valore massimo nel gruppo
maxif() Restituisce il valore massimo nel gruppo per il quale Predicato restituisce true
min() Restituisce il valore minimo nel gruppo
minif() Restituisce il valore minimo nel gruppo per il quale Predicato restituisce true
percentile() Restituisce una stima per il percentile di rango più vicino specificato della popolazione definita da Expr
sum() Restituisce la somma dei valori nel gruppo
sumif() Restituisce una somma di Expr per cui predicato restituisce true

Funzioni scalari

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

Funzione Descrizione
ago() Sottrae l'intervallo di tempo specificato dall'ora UTC corrente.
bin() Arrotonda i valori per difetto a un numero di datetime multipli 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 abbia valutato true (secondo) o false (terzo).
indexof() Segnala l'indice in base zero della prima occorrenza di una stringa specificata all'interno della stringa di input.
isnotnull() Valuta l'unico argomento e restituisce un valore booleano che indica se l'argomento restituisce un valore diverso da Null.
isnull() Valuta l'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, espressa in caratteri, della stringa di input.
substring() Estrae una sottostringa da una stringa di origine a partire da un indice alla fine della stringa.
tostring() Converte l'input in una rappresentazione di stringa.

Proprietà supportate

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

  • Apple Auto Setup Admin Accounts
  • Apple Device States
  • Apple Update Settings
  • Battery
  • Bios Info
  • Bluetooth
  • Cellular
  • CPU
  • Device Storage
  • Disk Drive
  • Encryptable Volume
  • 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 del dispositivo per più dispositivi supporta un'entità collegata. L'entità Device può essere usata con tutte le altre entità supportate. L'entità dispositivo supporta le proprietà seguenti:

Proprietà Tipo Descrizione
DeviceId Stringa ID univoco generato da Intune come parte della registrazione del dispositivo.
EntraDeviceId Stringa ID univoco generato da Microsoft Entra come parte della registrazione o dell'aggiunta Microsoft Entra.
ManagementName Stringa Un nome di dispositivo facilmente riconoscibile usato solo nell'interfaccia di amministrazione Intune. La modifica di questo nome non modifica il nome del dispositivo o il nome nella 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 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 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 per l'utente che ha registrato il dispositivo
PrimaryUserId Stringa Identificatore univoco per l'utente associato al dispositivo.
LastLoggedOnUserId Stringa Identificatore univoco per l'ultimo utente che ha eseguito l'accesso al dispositivo.
InCompliancePeriodUntilDateTime Datetime DateTime alla scadenza del periodo di tolleranza per la conformità del dispositivo
DeviceCategoryId Stringa Nome visualizzato della categoria di dispositivi. 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 aggiungere in modo esplicito a una tabella del dispositivo.

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

Device rappresenta il dispositivo associato alla riga risultante e può essere fatto riferimento direttamente come colonna di tipo entità. Quando viene visualizzata nei risultati della query, l'entità Device viene visualizzata usando un identificatore descrittivo, ad esempio 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 si risolve 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 vuole usare. Ad esempio, questa query ordina i risultati in base al nome del dispositivo:


MemoryInfo
| order by Device.DeviceName

Analogamente, 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 Device esempio nelle funzioni di aggregazione, può mostrare una sottolineatura rossa nell'editor perché le funzioni di aggregazione richiedono valori scalari. Per evitare questo, 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 e $right possono mostrare una sottolineatura rossa nell'editor. Tuttavia, la query può comunque eseguire e restituire i risultati come previsto.

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

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

  • È possibile inviare un massimo di 10 query al minuto. Le query aggiuntive 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.

  • Il riferimento a una variabile generata da una funzione di aggregazione senza denominarla in modo esplicito può causare l'esito negativo di una query. La denominazione esplicita della variabile consente l'esito positivo della query. Ad esempio:

    • La query Device | summarize dcount(DeviceId) | order by dcount_DeviceId ha esito negativo.
    • La query Device | summarize DCountDeviceIdRename = dcount(DeviceId) | order by DCountDeviceIdRename ha esito positivo.