다음을 통해 공유


여러 디바이스에 대한 디바이스 쿼리

참고

이 기능은 Intune 추가 기능으로 사용할 수 있습니다. 자세한 내용은 Intune Suite 추가 기능 사용을 참조하세요.

여러 디바이스에 대한 디바이스 쿼리를 사용하면 Kusto 쿼리 언어(KQL)를 사용하여 디바이스에 대해 수집된 인벤토리 데이터를 쿼리하는 전체 디바이스에 대한 포괄적인 인사이트를 얻을 수 있습니다.

시작하기 전에

여러 디바이스에 대한 디바이스 쿼리에 대한 추가 필수 구성 요소:

디바이스 플랫폼 요구 사항

여러 디바이스에 대한 디바이스 쿼리는 다음을 지원합니다.

  • Windows
  • Android
    • Android Enterprise 회사 소유 전용 디바이스(COSU)
    • Android Enterprise 회사 소유 완전 관리형(COBO)
    • Android Enterprise 회사 소유 회사 프로필(COPE)
  • Apple
    • iOS/iPadOS
    • macOS

디바이스 구성 요구 사항

여러 디바이스에 대한 디바이스 쿼리는 다음과 같은 디바이스를 지원합니다.

  • Intune 관리되고 회사 소유로 표시됨
  • 인벤토리 데이터를 수집하려면 Windows 디바이스에 속성 카탈로그 정책이 배포되어 있어야 합니다.
    iOS/iPadOS, Android 및 macOS의 경우 데이터가 자동으로 수집되며 별도의 속성 카탈로그 정책을 배포할 필요가 없습니다.

역할 요구 사항

여러 디바이스에 디바이스 쿼리를 사용하려면 다음 역할 중 하나 이상의 계정을 사용합니다.

  • 지원 센터 운영자
  • 다음을 포함하는 사용자 지정 역할:
    • 관리 디바이스/쿼리 권한
    • Intune 관리되는 디바이스에 대한 가시성 및 액세스를 제공하는 권한(예: 조직/읽기, 관리되는 디바이스/읽기)

여러 디바이스에 디바이스 쿼리 사용

  1. Microsoft Intune 관리 센터에서디바이스 디바이스>쿼리를 선택합니다.
  2. 지원되는 속성 및 지원되는 연산자를 사용하여 쿼리 상자에 쿼리를 입력합니다.
  3. 실행을 선택하여 쿼리를 실행합니다.
  4. 결과는 결과 탭 영역에 표시됩니다.
    • 쿼리의 일부만 실행하려는 경우 또는 쿼리 창에 쿼리가 여러 개 있고 하나만 실행하려는 경우 실행할 쿼리를 강조 표시하고 실행을 선택할 수 있습니다. 해당 쿼리만 실행됩니다.

왼쪽의 보기를 확장하여 쿼리할 수 있는 모든 속성을 볼 수 있습니다. 쿼리에 채울 항목을 선택합니다. 왼쪽 및 쿼리 창의 가장자리를 선택하고 끌어 조정을 수행할 수 있습니다.

쿼리를 실행한 후 내보내 기를 선택하여 결과를 .CSV 파일에 저장합니다. 쿼리 결과의 모든 열 또는 선택한 열만 내보낼 수 있습니다. 최대 50,000개 결과를 파일로 내보낼 수 있습니다.

Kusto 쿼리 언어 대한 자세한 내용은 Kusto 쿼리 언어 대한 자세한 내용을 참조하세요.

Intune Copilot를 사용하여 자연어 요청을 사용하여 디바이스 쿼리에 대한 KQL 쿼리를 생성합니다. 자세한 내용은 디바이스 쿼리에서 Copilot를 사용하여 쿼리를 참조하세요.

샘플 쿼리

시작하는 데 도움이 되는 몇 가지 샘플 쿼리가 이 섹션에 제공됩니다. 샘플 쿼리에 액세스하려면 시작 페이지 아래의 예제 쿼리 섹션을 확장하고 쿼리 창에 추가할 쿼리를 선택합니다. 다음 섹션에서는 샘플 쿼리 목록을 보여 줍니다.

코어 수별 상위 프로세서

이 쿼리는 코어 수별로 정렬된 상위 5개의 CPU를 나열합니다.

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

보호되지 않은 디스크가 있는 디바이스

이 쿼리는 암호화되지 않은 디스크가 있는 디바이스를 나열합니다.

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

Arm64 디바이스

이 쿼리는 ARM64 프로세서가 있는 모든 디바이스를 나열합니다.

Cpu | where Architecture == "ARM64"

프로세서 아키텍처별 디바이스 수

이 쿼리는 CPU 아키텍처별 디바이스 요약을 제공합니다.

Cpu| summarize DeviceCount=count() by Architecture

배터리 용량별 상위 디바이스

이 쿼리는 완전 충전된 배터리 용량을 기준으로 상위 10개 디바이스를 나열합니다.

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

디바이스 메모리 정보

이 쿼리는 물리적 메모리와 가상 메모리가 GB인 디바이스를 나열합니다.

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

OS 버전별 디바이스 수

이 쿼리는 OS 버전별 디바이스 요약을 제공합니다.

OsVersion| summarize DevicesCount = count() by OsVersion

디바이스 바이오스 정보

이 쿼리는 BIOS 제조업체를 기반으로 하는 디바이스를 나열합니다.

BiosInfo| where Manufacturer contains "Microsoft"

TPM 사용 안 함 디바이스

이 쿼리는 TPM을 사용하지 않도록 설정한 디바이스를 나열합니다.

Tpm | where Enabled != true

지원되는 연산자

디바이스 쿼리는 Kusto 쿼리 언어(KQL)에서 지원되는 연산자의 하위 집합만 지원합니다. 현재 지원되는 연산자는 다음과 같습니다.

테이블 연산자

테이블 연산자를 사용하여 데이터 스트림을 필터링, 요약 및 변환할 수 있습니다. 지원되는 연산자는 다음과 같습니다.

테이블 연산자 설명
count 레코드 수를 포함하는 단일 레코드가 있는 테이블을 반환합니다.
distinct 입력 테이블의 제공된 열의 고유한 조합을 사용하여 테이블을 생성합니다.
join 두 테이블의 행을 병합하여 동일한 디바이스에 대한 행을 일치시켜 새 테이블을 형성합니다. , , Leftouter, FullouterRightouter및 내부 조innerunique인 유형만 지원됩니다. 지원되는 조인 형식이 아닌 다른 조인 형식을 입력하면 무시됩니다. Join 문은 또는 Device.Deviceid에 조인된 Device 경우 구문을 지원 on 합니다. 조인에 대한 일반적인 구문은 LeftEntity | 조건에 [힌트](RightEntity)를 조인합니다. 자세한 내용은 참가 설명서를 참조하세요.
order by 하나 이상의 열을 기준으로 입력 테이블의 행을 순서대로 정렬합니다.
project 포함할 열을 선택하고 이름을 바꾸거나 삭제하고 새 계산된 열을 삽입합니다.
take 지정된 수의 행까지 반환합니다.
top 지정된 열을 기준으로 정렬된 첫 번째 N 레코드를 반환합니다.
where 조건자를 충족하는 행의 하위 집합으로 표를 필터링합니다.
summarize 는 입력 테이블의 내용을 집계하는 테이블을 생성합니다.

스칼라 연산자

스칼라 연산자를 사용하여 개별 값에 대한 작업을 수행할 수 있습니다. 지원되는 연산자는 다음과 같습니다.

연산자 설명 예제
== 같다 1 == 1, 'aBc' == 'AbC'
!= 같지 않음 1 != 2, 'abc' != 'abcd'
< 1 < 2, 'abc' < 'DEF'
> 2 > 1, 'xyz' > 'XYZ'
<= 작거나 같음 1 <= 2, 'abc' <= 'abc'
>= 크거나 같음 2 >= 1, 'abc' >= 'ABC'
+ 추가 2 + 1, now() + 1d
- 빼다 2 - 1, now() - 1h
* 곱하다 2 * 2
/ 나누다 2 / 1
% 모듈로 2 % 1
like LHS에는 RHS에 대한 일치 항목이 포함되어 있습니다. 'abc' like '%B%'
contains RHS는 LHS의 하위 시퀀스로 발생합니다. 'abc' contains 'b'
!contains RHS는 LHS에서 발생하지 않습니다. 'team' !contains 'i'
startswith RHS는 LHS의 초기 하위 시퀀스입니다. 'team' startswith 'tea'
!startswith RHS는 LHS의 초기 하위 시퀀스가 아닙니다. 'abc' !startswith 'bc'
endswith RHS는 LHS의 종결 하위 시퀀스입니다. 'abc' endswith 'bc'
!endswith RHS는 LHS의 종결 하위 시퀀스가 아닙니다. 'abc' !endswith 'a'
and TRUE이면 이고 RHS 및 LHS가 true인 경우에만 (1 == 1) and (2 == 2)
or TRUE이면 이고 RHS 또는 LHS가 true인 경우에만 (1 == 1) or (1 == 2)

집계 함수

집계 함수를 사용하여 데이터를 요약할 수 있습니다. 지원되는 함수는 다음과 같습니다.

함수 설명
avg() 그룹 전체의 값 평균을 반환합니다.
count() 요약 그룹당 레코드 수를 반환합니다.
countif() 조건자가 true로 평가되는 행 수를 반환합니다.
dcount() 그룹의 고유 값 수를 반환합니다.
max() 그룹 전체의 최대값을 반환합니다.
maxif() 조건자가 true로 평가되는 그룹 전체의 최대값을 반환합니다.
min() 그룹 전체의 최소값을 반환합니다.
minif() 조건자가 true로 평가되는 그룹 전체의 최소값을 반환합니다.
percentile() Expr에서 정의한 모집단의 지정된 가장 가까운 순위 백분위수에 대한 예상값을 반환합니다.
sum() 그룹 전체의 값 합계를 반환합니다.
sumif() 조건자가 true로 평가되는 Expr의 합계를 반환합니다.

스칼라 함수

스칼라 함수를 사용하여 개별 값에 대한 작업을 수행할 수 있습니다. 지원되는 함수는 다음과 같습니다.

함수 설명
ago() 현재 UTC 클록 시간에서 지정된 시간 범위를 뺍니다.
bin() 값을 지정된 bin 크기의 datetime 배수로 반올림합니다.
case() 조건자 목록을 평가하고 조건자가 충족되는 첫 번째 결과 식을 반환합니다.
datetime_add() 지정된 datetime에 추가된 지정된 크기를 곱한 지정된 datepart의 새 datetime을 계산합니다. amount 매개 변수에 대한 음수 값은 지원되지 않습니다.
datetime_diff() 두 날짜/시간 값의 차이를 계산합니다.
iif() 첫 번째 인수를 계산하고 조건자가 true(두 번째) 또는 false(세 번째)로 평가되었는지 여부에 따라 두 번째 또는 세 번째 인수의 값을 반환합니다.
indexof() 입력 문자열 내에서 지정된 문자열이 처음 나타나는 인덱스(0부터 시작)를 보고합니다.
isnotnull() 유일한 인수를 평가하고 인수가 null이 아닌 값으로 계산되는지 여부를 나타내는 부울 값을 반환합니다.
isnull() 유일한 인수를 평가하고 인수가 null 값으로 평가되는지 여부를 나타내는 부울 값을 반환합니다.
now() 현재 UTC 클록 시간을 반환합니다.
strcat() 1~64개 인수를 연결합니다.
strlen() 입력 문자열의 길이(문자)를 반환합니다.
substring() 일부 인덱스에서 문자열의 끝으로 시작하는 원본 문자열에서 부분 문자열을 추출합니다.
tostring() 입력을 문자열 표현으로 변환합니다.

지원되는 속성

디바이스 쿼리는 다음 엔터티를 지원합니다. 각 엔터티에 대해 지원되는 속성에 대한 자세한 내용은 데이터 플랫폼 스키마 Intune 참조하세요.

  • 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

디바이스 엔터티

여러 디바이스에 대한 디바이스 쿼리는 연결된 엔터티를 지원합니다. 디바이스 엔터티는 지원되는 다른 모든 엔터티와 함께 사용할 수 있습니다. 디바이스 엔터티는 다음 속성을 지원합니다.

속성 유형 설명
DeviceId String 디바이스 등록의 일부로 Intune 생성된 고유 ID입니다.
EntraDeviceId String Microsoft Entra 등록 또는 조인의 일부로 Microsoft Entra 생성된 고유 ID입니다.
ManagementName String Intune 관리 센터에서만 사용되는 쉽게 인식할 수 있는 디바이스 이름입니다. 이 이름을 변경해도 회사 포털 디바이스 이름이나 이름이 변경되지 않습니다.
DeviceName String 디바이스 이름
SerialNumber String 디바이스의 일련 번호
Manufacturer String 디바이스 제조업체
Model String 디바이스의 모델
OSDescription String 운영 체제 버전에 대한 전체 설명
OSVersion String 디바이스의 운영 체제 버전
EnrollmentProfileName String 디바이스에 할당된 등록 프로필의 이름입니다. 기본값은 디바이스에 등록 프로필이 할당되지 않았음을 나타내는 빈 문자열입니다.
EnrolledDateTime 날짜/시간 Intune에서 디바이스를 등록한 날짜 및 시간입니다.
CertExpirationDateTime 날짜/시간 디바이스 관리 인증서 만료 날짜를 보고합니다.
EnrolledByUserId String 디바이스를 등록한 사용자의 고유 식별자
PrimaryUserId String 디바이스와 연결된 사용자의 고유 식별자입니다.
LastLoggedOnUserId String 디바이스에 마지막으로 로그온한 사용자의 고유 식별자입니다.
InCompliancePeriodUntilDateTime 날짜/시간 디바이스 준수 유예 기간이 만료되는 DateTime
DeviceCategoryId String 디바이스 범주 표시 이름입니다. 기본값은 빈 문자열입니다.
LastSeenDateTime String Intune에 디바이스를 마지막으로 연결한 날짜 및 시간입니다.
Ownership String 디바이스의 소유권입니다.

디바이스 엔터티를 사용하면 별도의 쿼리를 작성하여 함께 조인할 필요 없이 결과 행과 연결된 디바이스를 참조할 수 있습니다. 기본적으로 쿼리 결과에 디바이스 정보를 포함하는 자동 조인 역할을 합니다.

디바이스 엔터티는 쉽게 사용할 수 있도록 다른 모든 엔터티에 자동으로 조인됩니다. 쿼리가 , summarize또는 distinct와 같은 연산자를 사용하여 반환 형식을 업데이트하지 않는 한 디바이스 엔터티는 결과를 쿼리하는 첫 번째 열입니다project.

쿼리에서 디바이스 자체를 사용하여 를 로 구문 분석합니다 Device.DeviceId. 기본적으로 반환되는 디바이스 열에서 DeviceId는 디바이스를 보다 쉽게 식별할 수 있도록 DeviceName으로 변환됩니다. 디바이스 엔터티 및 해당 속성은 디바이스를 참조하여 쿼리에서 참조할 수도 있습니다. [Insert 속성].

다음 쿼리는 일련 번호가 123인 모든 디바이스에 대한 모든 DiskDrive 정보를 반환합니다.

DiskDrive
where Device.SerialNumber = 123

다음 쿼리는 엔터티 DiskDrive의 디바이스 ID 및 제조업체 속성을 프로젝트합니다.

DiskDrive | project Device.DeviceId, Manufacturer

기본적으로 첫 번째 열로 표시되는 디바이스 엔터티는 Device.DeviceId로 구문 분석되는 쿼리에서 디바이스 자체를 사용하여 디바이스 이름으로 표시되지만 이 쿼리는 DeviceName이 아닌 DeviceID에서 정렬한 결과를 반환합니다.

MemoryInfo | order by Device

마찬가지로 이 쿼리는 디바이스 ID가 Desktop123이 아니면 결과를 반환하지 않습니다. 디바이스 이름에 대해 쿼리하지 않습니다.

Cpu | where Device == "Desktop123"

다음 예제를 사용하여 디바이스 이름을 쿼리합니다.

Cpu | where Device.DeviceName == 'Desktop123"

알려진 제한

  • 집계 함수에서 디바이스 엔터티를 사용하면 빨간색 밑줄이 표시됩니다. 그러나 쿼리는 계속 실행할 수 있으며 예상대로 결과를 반환할 수 있습니다. 예를 들어 다음 쿼리는 디바이스 아래에 빨간색 밑줄을 표시하지만 여전히 실행됩니다.

    Cpu | summarize max(Device) by Manufacturer.
    
  • 조인 연산자, $left 및 $right 매개 변수를 사용하는 쿼리는 $left 및 $right 아래에 빨간색 밑줄을 표시합니다. 그러나 쿼리를 계속 실행하고 예상대로 결과를 반환할 수 있습니다.

  • 단일 쿼리에는 최대 3개의 조인 연산자가 포함될 수 있습니다. 조인이 더 많은 쿼리는 실패합니다.

  • 쿼리에 대해 최대 50,000개 레코드가 반환됩니다.

  • 분당 최대 10개의 쿼리를 제출할 수 있습니다. 동일한 분 내의 다른 쿼리는 실패합니다.

  • 매월 최대 1,000개의 쿼리를 제출할 수 있습니다.

  • datetime_add() 함수의 amounts 매개 변수에 대한 음수 값은 지원되지 않습니다.

  • 집계 함수로 요약된 변수를 참조하면 오류가 발생합니다. 변수의 이름을 명시적으로 지정하면 쿼리가 다시 성공할 수 있습니다. 예를 들어 디바이스 쿼리 | summarize dcount(DeviceId) | dcount_DeviceId 순서가 실패합니다. 디바이스 | summarize DCountDeviceIdRename=dcount(DeviceId) | DCountDeviceIdRename의 순서가 성공합니다.