다음을 통해 공유


디바이스 쿼리

참고

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

디바이스 쿼리를 사용하면 Windows 디바이스의 상태에 대한 주문형 정보를 빠르게 얻을 수 있습니다. 선택한 디바이스에 쿼리를 입력하면 디바이스 쿼리가 실시간으로 쿼리를 실행합니다. 그런 다음 반환된 데이터를 사용하여 보안 위협에 대응하거나, 디바이스 문제를 해결하거나, 비즈니스 결정을 내릴 수 있습니다.

시작하기 전에

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

디바이스 구성 요구 사항

디바이스 쿼리는 다음과 같은 Windows 디바이스를 지원합니다.

  • Intune 관리되고 회사 소유로 표시됩니다.
  • Microsoft Entra 조인됨
  • Microsoft Entra 하이브리드 조인됨

디바이스 쿼리는 실시간으로 실행됩니다. 디바이스를 쿼리할 때 Intune 디바이스에 요청을 보내고 즉각적인 응답을 기대합니다. WNS는 전송 메커니즘입니다. Windows 푸시 알림 서비스는 디바이스에 알리고 쿼리 결과를 반환하는 데 사용됩니다. 필수 종속성: WNS는 이 통신에 필수적인 요소이므로 사용하지 않도록 설정하거나 무시할 수 없습니다. WNS가 차단되거나 사용할 수 없는 경우 디바이스 쿼리가 실패합니다.

역할 요구 사항

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

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

디바이스 쿼리 사용

  1. Microsoft Intune 관리 센터에서디바이스>Windows를 선택합니다.
  2. 디바이스를 선택한 다음 모니터 섹션에서 디바이스 쿼리를 선택합니다.

쿼리할 수 있는 지원되는 속성은 지원되는 속성 섹션에 나열됩니다. 쿼리를 실행하려면 Kusto 쿼리 언어(KQL) 쿼리를 입력하고 실행을 선택합니다. 결과는 결과 탭 영역에 표시됩니다.

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

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

모범 사례:

  • 디바이스 쿼리를 사용하여 L1/L2 엔지니어가 티켓을 더 빠르게 resolve 지원하는 동시에 사용자 중단을 최소화하는 방법을 고려합니다.
  • 일반적으로 최종 사용자의 디바이스에 대한 원격 제어 세션이 필요한 지원 프로세스 및 작업을 검토합니다. 단일 디바이스 쿼리를 사용하여 완료할 수 있는지 확인합니다(예: 실행 중인 서비스 확인, 애플리케이션 구성에 대한 레지스트리 키 값 확인, 애플리케이션 버전 확인 또는 CPU 사용량별 상위 프로세스 보고).
  • ITSM 기술 자료 반복 조사를 위해 저장된 쿼리를 만들어 L1/L2 엔지니어가 신속하게 액세스할 수 있도록 합니다.
  • 빠른 문제 해결을 위해 원격 작업을 사용하도록 프로세스를 업데이트합니다. 디바이스를 다시 부팅하거나 수정 스크립트를 실행하여 알려진 문제를 resolve.

원격 디바이스 작업

단일 디바이스 쿼리에서 Intune 원격 디바이스 작업을 사용하여 디바이스를 원격으로 관리할 수 있습니다. 이제 디바이스 쿼리 인터페이스에서 쿼리 결과에 따라 디바이스 작업을 실행하여 더 빠르고 효율적인 문제 해결을 수행할 수 있습니다.

사용 가능한 디바이스 작업은 디바이스 플랫폼 및 구성에 따라 달라집니다. 모든 디바이스에서 모든 작업을 사용할 수 있는 것은 아닙니다. 디바이스에서 수행할 수 있는 작업의 전체 목록은 Microsoft Intune 원격 디바이스 작업을 참조하세요.

지원되는 연산자

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

테이블 연산자

테이블 연산자는 데이터 스트림 필터링, 요약 및 변환을 사용할 수 있습니다. 현재 다음 연산자가 지원됩니다.

테이블 연산자 설명
count 레코드 수를 포함하는 단일 레코드가 있는 테이블을 반환합니다.
distinct 입력 테이블의 제공된 열의 고유한 조합을 사용하여 테이블을 생성합니다.
join 두 테이블의 행을 병합하여 동일한 디바이스에 대한 행을 일치시켜 새 테이블을 형성합니다.
order by 하나 이상의 열을 기준으로 입력 테이블의 행을 순서대로 정렬합니다.
project 포함, 이름 바꾸기 또는 삭제할 열을 선택하고 새 계산 열을 삽입합니다.
take 지정된 행 수까지 반환
top 지정된 열을 기준으로 정렬된 첫 번째 N 레코드를 반환합니다.
where 조건자를 충족하는 행의 하위 집합으로 테이블을 필터링합니다.

스칼라 연산자

다음 표에는 연산자가 요약됩니다.

연산자 설명 예제
== 같다 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)

집계 함수

집계 함수를 테이블 연산자에서 summarize 사용하여 요약된 값을 계산할 수 있습니다. 현재 다음 집계 함수가 지원됩니다.

함수 설명
avg() 그룹 전체의 값 평균을 반환합니다.
count() 요약 그룹당 레코드 수를 반환합니다.
countif() 조건자가 true로 평가되는 행 수를 반환합니다.
dcount() 그룹의 고유 값 수를 반환합니다.
max() 그룹 전체의 최대값을 반환합니다.
maxif() 버전 2107부터 테이블 연산자 summarize 에서 를 사용할 maxif 수 있습니다.

조건자가 로 계산되는 그룹의 최대값을 반환합니다.true
min() 그룹 전체의 최소값을 반환합니다.
minif() 버전 2107부터 테이블 연산자 summarize 에서 를 사용할 minif 수 있습니다.

조건자가 로 계산되는 그룹의 최소값을 반환합니다.true
percentile() Expr에서 정의한 모집단의 지정된 가장 가까운 순위 백분위수에 대한 예상값을 반환합니다.
sum() 그룹 전체의 값 합계를 반환합니다.
sumif() 조건자가 true로 평가되는 Expr의 합계를 반환합니다.

스칼라 함수

스칼라 함수는 식에서 사용할 수 있습니다. 현재 지원되는 스칼라 함수는 다음과 같습니다.

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

지원되는 속성

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

  • BiosInfo
  • Certificate
  • Cpu
  • DiskDrive
  • EncryptableVolume
  • FileInfo
  • LocalGroup
  • LocalUserAccount
  • LogicalDrive
  • MemoryInfo
  • OsVersion
  • Process
  • SystemEnclosure
  • SystemInfo
  • Tpm
  • WindowsAppCrashEvent
  • WindowsDriver
  • WindowsEvent
  • WindowsQfe
  • WindowsRegistry
  • WindowsService

알려진 제한

  • 쿼리의 결과 문자열은 128kb 문자로 제한됩니다. 쿼리 결과가 128kb 문자보다 긴 경우 결과가 잘립니다. 잘리는 행 수에 대한 오류 메시지가 표시됩니다.
  • 1분에만 15개의 쿼리를 보낼 수 있습니다. 쿼리 제한 초과 오류가 발생하면 잠시 기다렸다가 다시 시도하세요.
  • 쿼리 입력의 길이 제한은 2048자입니다. 쿼리가 너무 긴 오류가 발생하면 쿼리를 구체화하여 문자 수를 줄이도록 하고 다시 시도합니다.
  • now() 스칼라 함수는 오프셋 매개 변수를 지원하지 않습니다.
  • 연산자는 !like 지원되지 않습니다.
  • 입력 창은 다음 연산자에서 작은따옴표만 지원되는 경우 큰따옴표를 자동으로 권장합니다.
    • contains
    • !contains
    • startswith
    • !startswith
    • endswith
  • WindowsRegistry 엔터티가 루트에 대한 RegistryKey를 반환하지 못합니다.
  • WindowsRegistry 엔터티가 64비트 공유 레지스트리 키를 반환하지 못합니다.
  • WindowsRegistry 엔터티가 이진 ValueData를 반환하지 못합니다.
  • 컴퓨터에서 사용할 수 있는 네트워크 카드가 여러 대 있는 경우 첫 번째 구성된 도메인만 반환됩니다.
  • TPM 2.0이 디바이스에 있는 경우 활성화 및 사용은 항상 TRUE로 반환됩니다.
  • 파일이 현재 컴퓨터에서 사용 중인 경우 FileInfo 쿼리는 오류를 반환합니다.
  • 최종 사용자가 디바이스에 대한 관리자 액세스 권한이 있는 경우 쿼리 결과에 반환된 클라이언트 기반 정보를 변경할 수 있습니다. 예를 들어 OS 버전 및 레지스트리입니다.