Udostępnij przez


Zapytanie dotyczące urządzenia dla wielu urządzeń

Uwaga

Ta funkcja jest dostępna jako dodatek Intune. Aby uzyskać więcej informacji, zobacz Korzystanie z funkcji dodatku Intune Suite.

Zapytanie dotyczące urządzeń dla wielu urządzeń umożliwia uzyskanie kompleksowego wglądu w całą flotę urządzeń przy użyciu język zapytań Kusto (KQL) do wykonywania zapytań dotyczących zebranych danych spisu dla urządzeń.

Przed rozpoczęciem

Dodatkowe wymagania wstępne dotyczące zapytania urządzenia dla wielu urządzeń:

Wymagania dotyczące platformy urządzeń

Zapytanie dotyczące urządzeń dla wielu urządzeń obsługuje:

  • System Windows
  • Android
    • Dedykowane urządzenia firmowe z systemem Android Enterprise (COSU)
    • W pełni zarządzane firmowe urządzenie z systemem Android Enterprise (COBO)
    • Należący do firmy profil służbowy systemu Android Enterprise (COPE)
  • Jabłko
    • iOS/iPadOS
    • macOS

Wymagania dotyczące konfiguracji urządzenia

Zapytanie dotyczące urządzeń dla wielu urządzeń obsługuje następujące urządzenia:

  • Zarządzane przez Intune i oznaczone jako należące do firmy
  • Urządzenia z systemem Windows muszą mieć wdrożone zasady wykazu właściwości w celu zbierania danych spisu.
    W przypadku systemów iOS/iPadOS, Android i macOS dane są zbierane automatycznie i nie trzeba wdrażać oddzielnych zasad wykazu właściwości.

Wymagania dotyczące ról

Aby użyć zapytania urządzenia dla wielu urządzeń, użyj konta z co najmniej jedną z następujących ról:

  • Operator pomocy technicznej
  • Rola niestandardowa , która obejmuje:
    • Uprawnienie Zarządzane urządzenia/zapytanie
    • Uprawnienia zapewniające wgląd w urządzenia zarządzane i dostęp do nich w Intune (na przykład Organizacja/Odczyt, Urządzenia zarządzane/Odczyt)

Używanie zapytania urządzenia dla wielu urządzeń

  1. W centrum administracyjnym Microsoft Intune wybierz pozycję Urządzenia>— zapytanie urządzenia.
  2. Wprowadź zapytanie w polu zapytania przy użyciu obsługiwanych właściwości i obsługiwanych operatorów.
  3. Wybierz pozycję Uruchom, aby wykonać zapytanie.
  4. Wyniki są wyświetlane w obszarze karty Wyniki .
    • Jeśli chcesz uruchomić tylko część zapytania lub jeśli masz wiele zapytań w oknie zapytania i chcesz uruchomić tylko jedno z nich, możesz wyróżnić zapytanie, które chcesz uruchomić, i wybrać pozycję Uruchom. Tylko to zapytanie jest uruchamiane.

Możesz rozwinąć widok po lewej stronie, aby wyświetlić wszystkie właściwości, których można wysyłać zapytania. Wybierz dowolną, aby wypełnić zapytanie. Możesz wybrać i przeciągnąć krawędzie zarówno lewej strony, jak i okna zapytania, aby wprowadzić wszelkie zmiany.

Po uruchomieniu zapytania wybierz pozycję Eksportuj , aby zapisać wyniki w pliku .CSV. Masz możliwość wyeksportowania wszystkich kolumn w wyniku zapytania lub tylko wybranych kolumn. Do pliku można wyeksportować maksymalnie 50 000 wyników.

Aby uzyskać więcej informacji na temat język zapytań Kusto, zobacz Dowiedz się więcej o język zapytań Kusto.

Porada

Użyj rozwiązania Copilot w Intune, aby generować zapytania KQL dla zapytań urządzenia przy użyciu żądań języka naturalnego. Aby dowiedzieć się więcej, zobacz Zapytanie za pomocą rozwiązania Copilot w zapytaniu urządzenia.

Przykładowe zapytania

Aby ułatwić rozpoczęcie pracy, w tej sekcji znajdują się przykładowe zapytania. Aby uzyskać dostęp do przykładowych zapytań, rozwiń sekcję przykładowych zapytań w obszarze strony Wprowadzenie i wybierz tę, którą chcesz dodać do okna zapytania. W poniższej sekcji przedstawiono listę przykładowych zapytań.

Najważniejsze procesory według liczby rdzeni

To zapytanie zawiera listę pięciu pierwszych procesorów CPU posortowanych według liczby rdzeni.

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

Urządzenia z niechronionymi dyskami

To zapytanie zawiera listę urządzeń z dyskami niezaszyfrowanymi.

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

Urządzenia Arm64

To zapytanie zawiera listę wszystkich urządzeń z procesorem ARM64.

Cpu | where Architecture == "ARM64"

Liczba urządzeń według architektury procesora

To zapytanie zawiera podsumowanie urządzeń według architektury procesora CPU.

Cpu| summarize DeviceCount=count() by Architecture

Najlepsze urządzenia według pojemności baterii

To zapytanie zawiera listę 10 najlepszych urządzeń, korzystając z w pełni naładowanej pojemności baterii.

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

Informacje o pamięci urządzeń

To zapytanie zawiera listę urządzeń z pamięcią fizyczną i wirtualną w GB.

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

Liczba urządzeń według wersji systemu operacyjnego

To zapytanie zawiera podsumowanie urządzeń według wersji systemu operacyjnego.

OsVersion| summarize DevicesCount = count() by OsVersion

Informacje o biosie urządzeniach

To zapytanie zawiera listę urządzeń opartych na producencie systemu BIOS.

BiosInfo| where Manufacturer contains "Microsoft"

Wyłączone urządzenia modułu TPM

To zapytanie zawiera listę urządzeń z wyłączonym modułem TPM.

Tpm | where Enabled != true

Obsługiwane operatory

Zapytanie urządzenia obsługuje tylko podzbiór operatorów obsługiwanych w język zapytań Kusto (KQL). Obecnie obsługiwane są następujące operatory:

Operatory tabel

Operatory tabel mogą służyć do filtrowania, podsumowywanie i przekształcanie strumieni danych. Obsługiwane są następujące operatory:

Operatory tabel Opis
count Zwraca tabelę z pojedynczym rekordem zawierającym liczbę rekordów.
distinct Tworzy tabelę z odrębną kombinacją podanych kolumn tabeli wejściowej.
join Scal wiersze dwóch tabel, aby utworzyć nową tabelę, dopasowując wiersz dla tego samego urządzenia. Obsługiwane są tylko typy sprzężeń innerunique, Leftouter, Fullouter, Rightouteri wewnętrzne. Jeśli wpiszesz typ sprzężenia inny niż obsługiwany, zostaną one zignorowane. Instrukcje join obsługują on składnię w przypadku dołączenia do Device elementu lub Device.Deviceid. Wspólna składnia sprzężenia to LeftEntity | join [hints] (RightEntity) on Conditions (Dołącz [wskazówki] (RightEntity) w warunkach. Aby uzyskać więcej informacji, zobacz Dokumentacja dołączania .
order by Posortuj wiersze tabeli wejściowej w kolejności według co najmniej jednej kolumny.
project Wybierz kolumny do uwzględnienia, zmień nazwę lub upuść, a następnie wstaw nowe obliczone kolumny.
take Wróć do określonej liczby wierszy.
top Zwraca pierwsze rekordy N posortowane według określonych kolumn.
where Przefiltruj tabelę do podzestawu wierszy, które spełniają predykat.
summarize Tworzy tabelę, która agreguje zawartość tabeli wejściowej.

Operatory skalarne

Operatory skalarne mogą służyć do wykonywania operacji na poszczególnych wartościach. Obsługiwane są następujące operatory:

Operatorów Opis Przykład
== Równy 1 == 1, 'aBc' == 'AbC'
!= Nie równe 1 != 2, 'abc' != 'abcd'
< Mniej 1 < 2, 'abc' < 'DEF'
> Większa 2 > 1, 'xyz' > 'XYZ'
<= Mniejsze lub równe 1 <= 2, 'abc' <= 'abc'
>= Większe lub równe 2 >= 1, 'abc' >= 'ABC'
+ Dodawać 2 + 1, now() + 1d
- Odejmować 2 - 1, now() - 1h
* Mnożyć 2 * 2
/ Dzielić 2 / 1
% Modulo 2 % 1
like LHS zawiera dopasowanie dla rhs 'abc' like '%B%'
contains RHS występuje jako podsekwencja LHS 'abc' contains 'b'
!contains Funkcja RHS nie występuje w systemie LHS 'team' !contains 'i'
startswith RHS jest początkową podsekwencją LHS 'team' startswith 'tea'
!startswith RHS nie jest początkową podsekwencją LHS 'abc' !startswith 'bc'
endswith RHS jest podsekwencją zamykającą LHS 'abc' endswith 'bc'
!endswith RHS nie jest podsekwencją zamykającą LHS 'abc' !endswith 'a'
and Prawda, jeśli i tylko wtedy, gdy RHS i LHS są prawdziwe (1 == 1) and (2 == 2)
or Prawda, jeśli i tylko wtedy, gdy RHS lub LHS ma wartość true (1 == 1) or (1 == 2)

Funkcje agregacji

Funkcje agregacji mogą służyć do podsumowania danych. Obsługiwane są następujące funkcje:

Funkcja Opis
avg() Zwraca średnią wartości w grupie
count() Zwraca liczbę rekordów na grupę podsumowania
countif() Zwraca liczbę wierszy, dla których predykat ma wartość true
dcount() Zwraca liczbę unikatowych wartości w grupie
max() Zwraca wartość maksymalną w grupie
maxif() Zwraca wartość maksymalną w grupie, dla której predykat ma wartość true
min() Zwraca wartość minimalną w grupie
minif() Zwraca wartość minimalną w grupie, dla której predykat ma wartość true
percentile() Zwraca oszacowanie dla określonego percentyla najbliższej rangi populacji zdefiniowanego przez wyrażenie
sum() Zwraca sumę wartości w grupie
sumif() Zwraca sumę wyrażeń, dla których predykat ma wartość true

Funkcje skalarne

Funkcje skalarne mogą służyć do wykonywania operacji na poszczególnych wartościach. Obsługiwane są następujące funkcje:

Funkcja Opis
ago() Odejmuje podany przedział czasu od bieżącego czasu zegara UTC.
bin() Zaokrągla wartości w dół do wielokrotności daty/godziny dla danego rozmiaru pojemnika.
case() Oblicza listę predykatów i zwraca pierwsze wyrażenie wyniku, którego predykat jest spełniony.
datetime_add() Oblicza nową datę/godzinę z określonego elementu datepart pomnożonego przez określoną kwotę dodaną do określonej daty/godziny. Wartości ujemne parametru amount nie są obsługiwane.
datetime_diff() Oblicza różnicę między dwiema wartościami daty/godziny.
iif() Oblicza pierwszy argument i zwraca wartość drugiego lub trzeciego argumentu w zależności od tego, czy predykat został obliczony na wartość true (sekunda) czy false (trzeci).
indexof() Raportuje indeks zerowy pierwszego wystąpienia określonego ciągu w ciągu wejściowym.
isnotnull() Oblicza jej jedyny argument i zwraca wartość logiczną wskazującą, czy argument ma wartość inną niż null.
isnull() Oblicza jej jedyny argument i zwraca wartość logiczną wskazującą, czy argument ma wartość null.
now() Zwraca bieżący czas zegara UTC.
strcat() Łączy od 1 do 64 argumentów.
strlen() Zwraca długość ciągu wejściowego w postaci znaków.
substring() Wyodrębnia podciąg z ciągu źródłowego, zaczynając od indeksu do końca ciągu.
tostring() Konwertuje dane wejściowe na reprezentację ciągu.

Obsługiwane właściwości

Zapytanie urządzenia obsługuje następujące jednostki. Aby dowiedzieć się więcej o tym, jakie właściwości są obsługiwane dla każdej jednostki, zobacz Intune Schemat platformy danych.

  • 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

Jednostka urządzenia

Zapytanie urządzenia dla wielu urządzeń obsługuje połączoną jednostkę. Jednostki Urządzenie można używać ze wszystkimi innymi obsługiwanymi jednostkami. Jednostka urządzenia obsługuje następujące właściwości:

Własność Wpisać Opis
DeviceId Ciąg Unikatowy identyfikator wygenerowany przez Intune w ramach rejestracji urządzenia.
EntraDeviceId Ciąg Unikatowy identyfikator wygenerowany przez Microsoft Entra w ramach rejestracji lub sprzężenia Microsoft Entra.
ManagementName Ciąg Łatwo rozpoznawalna nazwa urządzenia używana tylko w centrum administracyjnym Intune. Zmiana tej nazwy nie zmienia nazwy urządzenia ani nazwy w Portal firmy.
DeviceName Ciąg Nazwa urządzenia
SerialNumber Ciąg Numer seryjny urządzenia
Manufacturer Ciąg Producent urządzenia
Model Ciąg Model urządzenia
OSDescription Ciąg Pełny opis wersji systemu operacyjnego
OSVersion Ciąg Wersja systemu operacyjnego na urządzeniu
EnrollmentProfileName Ciąg Nazwa profilu rejestracji przypisanego do urządzenia. Wartość domyślna to pusty ciąg wskazujący, że do urządzenia nie przypisano profilu rejestracji.
EnrolledDateTime Data/godzina Data i godzina zarejestrowania urządzenia w Intune.
CertExpirationDateTime Data/godzina Raportuje datę wygaśnięcia certyfikatu zarządzania urządzeniami.
EnrolledByUserId Ciąg Unikatowy identyfikator użytkownika, który zarejestrował urządzenie
PrimaryUserId Ciąg Unikatowy identyfikator użytkownika skojarzonego z urządzeniem.
LastLoggedOnUserId Ciąg Unikatowy identyfikator użytkownika, który ostatnio zalogował się na urządzeniu.
InCompliancePeriodUntilDateTime Data/godzina Data/godzina wygaśnięcia okresu prolongaty zgodności urządzenia
DeviceCategoryId Ciąg Nazwa wyświetlana kategorii urządzenia. Wartość domyślna to pusty ciąg.
LastSeenDateTime Ciąg Data i godzina ostatniego połączenia urządzenia z Intune.
Ownership Ciąg Własność urządzenia.

Jednostka urządzenia umożliwia odwoływanie się do urządzenia skojarzonego z wynikowym wierszem bez konieczności pisania oddzielnego zapytania w celu ich połączenia. Zasadniczo działa ono jako automatyczne sprzężenie w celu uwzględnienia informacji o urządzeniu w wynikach zapytania.

Jednostka urządzenia jest automatycznie przyłączona do każdej innej jednostki w celu ułatwienia użycia. Jednostka urządzenia jest pierwszą kolumną projectw wynikach zapytania, chyba że zapytanie aktualizuje zwracany typ za pomocą operatorów, takich jak , summarizelub distinct.

Samo użycie urządzenia w zapytaniu analizuje wartość Device.DeviceId. W zwracanej domyślnie kolumnie Urządzenie identyfikator DeviceId jest tłumaczony na wartość DeviceName, aby umożliwić łatwiejszą identyfikację urządzeń. Do jednostki urządzenia i jej właściwości można również odwoływać się w zapytaniach, odwołując się do pozycji Urządzenie. [Wstaw właściwość].

Następujące zapytanie zwraca wszystkie informacje o usłudze DiskDrive dla wszystkich urządzeń z numerem seryjnym 123:

DiskDrive
where Device.SerialNumber = 123

Następujące zapytanie wyświetla właściwości Identyfikator urządzenia i Producent jednostki DiskDrive:

DiskDrive | project Device.DeviceId, Manufacturer

Mimo że jednostka Urządzenie, która jest domyślnie wyświetlana jako pierwsza kolumna, jest wyświetlana jako nazwy urządzeń przy użyciu samego urządzenia w zapytaniu analizuje wartość Device.DeviceId. To zapytanie zwraca wyniki uporządkowane według identyfikatora DeviceID, a nie według nazwy urządzenia:

MemoryInfo | order by Device

Podobnie to zapytanie nie zwraca żadnych wyników, chyba że identyfikator urządzenia to Desktop123. Nie wykonuje zapytań dotyczących nazwy urządzenia:

Cpu | where Device == "Desktop123"

Użyj następującego przykładu, aby wykonać zapytanie dotyczące nazwy urządzenia:

Cpu | where Device.DeviceName == 'Desktop123"

Znane ograniczenia

  • Użycie jednostki Urządzenie w funkcjach agregacji pokazuje czerwone podkreślenie. Jednak zapytanie nadal może być uruchamiane i może zwracać wyniki zgodnie z oczekiwaniami. Na przykład następujące zapytanie pokazuje czerwone podkreślenie w obszarze Urządzenie , ale nadal działa:

    Cpu | summarize max(Device) by Manufacturer.
    
  • Zapytania z operatorem sprzężenia, parametrami $left i $right pokazują czerwone podkreślenie w obszarze $left i $right. Jednak zapytanie nadal może być uruchamiane i zwracać wyniki zgodnie z oczekiwaniami.

  • Pojedyncze zapytanie może zawierać maksymalnie trzy operatory sprzężenia. Zapytania z większą ilością sprzężeń nie powiodły się.

  • Dla zapytania jest zwracanych maksymalnie około 50 000 rekordów.

  • Na minutę można przesłać maksymalnie 10 zapytań. Wszystkie inne zapytania w tej samej minucie nie powiedzie się.

  • Miesięcznie można przesłać maksymalnie 1000 zapytań.

  • Wartości ujemne dla parametru amounts funkcji datetime_add() nie są obsługiwane.

  • Odwoływanie się do zmiennej, która została podsumowana przez funkcję agregacji, zgłasza błąd. Jawne nazewnictwo zmiennej umożliwia ponowne pomyślne wykonanie zapytania. Na przykład zapytanie Urządzenie | summarize dcount(DeviceId) | zamówienie według dcount_DeviceId zakończy się niepowodzeniem. Urządzenie | summarize DCountDeviceIdRename=dcount(DeviceId) | order by DCountDeviceIdRename kończy się pomyślnie.