장치 쿼리를 사용하면 Windows 장치 상태에 대한 주문형 정보를 빠르게 얻을 수 있습니다. 선택한 디바이스에서 쿼리를 입력하면 디바이스 쿼리가 실시간으로 쿼리를 실행합니다. 반환된 데이터는 보안 위협에 대응하거나 장치 문제를 해결하거나 비즈니스 결정을 내리는 데 사용할 수 있습니다.
시작하기 전에
- 환경이 모든 필수 구성 요소를 충족하는지 확인합니다.
디바이스 쿼리를 위한 추가 필수 구성 요소:
장치 구성 요구 사항
디바이스 쿼리는 다음과 같은 Windows 디바이스를 지원합니다.
- Intune에서 관리하고 회사 소유로 표시됩니다.
- Microsoft Entra가 조인됨
- Microsoft Entra 하이브리드 조인
디바이스 쿼리는 실시간으로 실행됩니다. 디바이스를 쿼리하면 Intune은 디바이스에 요청을 보내고 즉각적인 응답을 기대합니다. WNS는 전송 메커니즘입니다. Windows 푸시 알림 서비스는 장치에 알리고 쿼리 결과를 반환하는 데 사용됩니다. 필수 종속성: WNS는 이 통신에 필수적이므로 사용하지 않도록 설정하거나 무시할 수 없습니다. WNS가 차단되거나 사용할 수 없으면 디바이스 쿼리가 실패합니다.
역할 요구 사항
디바이스 쿼리 사용
- Microsoft Intune 관리 센터에서 장치>Windows를 선택합니다.
- 장치를 선택한 다음 모니터 섹션에서 장치 쿼리를 선택합니다.
쿼리할 수 있는 지원되는 속성은 지원되는 속성 섹션에 나열되어 있습니다. 쿼리를 실행하려면 KQL(Kusto 쿼리 언어) 쿼리를 입력하고 실행을 선택합니다. 결과는 결과 탭 영역에 표시됩니다.
Kusto 쿼리 언어에 대한 자세한 내용은 Kusto 쿼리 언어 개요를 참조하세요.
팁
Intune의 Copilot을 사용하여 자연어 요청을 사용하여 디바이스 쿼리에 대한 KQL 쿼리를 생성합니다. 자세한 내용은 디바이스 쿼리에서 Copilot을 사용하여 쿼리를 참조하세요.
모범 사례:
- 장치 쿼리를 사용하여 L1/L2 엔지니어가 지원 티켓을 더 빠르게 resolve 하는 동시에 사용자 중단을 최소화하는 방법을 고려합니다.
- 일반적으로 최종 사용자의 장치에 대한 원격 제어 세션이 필요한 지원 프로세스 및 작업을 검토합니다. 단일 장치 쿼리를 사용하여 이러한 작업을 완료할 수 있는지 확인합니다(예: 실행 중인 서비스 확인, 응용 프로그램 구성에 대한 레지스트리 키 값 확인, 응용 프로그램 버전 확인 또는 CPU 사용량별 상위 프로세스 보고 등).
- L1/L2 엔지니어가 빠르게 액세스할 수 있도록 ITSM 기술 자료에 반복 조사에 대한 저장된 쿼리를 만듭니다.
- 빠른 문제 해결을 위해 원격 작업을 사용하도록 프로세스를 업데이트합니다. 장치를 재부팅하거나 수정 스크립트를 실행하여 알려진 문제를 resolve 합니다.
원격 장치 작업
단일 디바이스 쿼리에서 Intune 원격 디바이스 작업을 사용하여 디바이스를 원격으로 관리할 수 있습니다. 이제 장치 쿼리 인터페이스에서 쿼리 결과에 따라 장치 작업을 실행하여 더 빠르고 효율적으로 문제를 해결할 수 있습니다.
사용 가능한 장치 작업은 장치 플랫폼 및 구성에 따라 달라집니다. 모든 디바이스에서 모든 작업을 사용할 수 있는 것은 아닙니다. 장치에서 수행할 수 있는 작업의 전체 목록은 Microsoft Intune의 원격 장치 작업을 참조하세요.
지원되는 연산자
디바이스 쿼리는 KQL(Kusto 쿼리 언어)에서 지원되는 연산자의 하위 집합만 지원합니다. 현재 지원되는 연산자는 다음과 같습니다.
테이블 연산자
테이블 연산자는 데이터 스트림을 필터링, 요약 및 변환하는 데 사용할 수 있습니다. 현재 다음 연산자가 지원됩니다.
| 테이블 연산자 | 설명 |
|---|---|
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 |
RHS 및 LHS가 true인 경우에만 True | (1 == 1) and (2 == 2) |
or |
RHS 또는 LHS가 true인 경우에만 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 크기의 여러 날짜/시간 배수로 반올림합니다. |
case() |
조건자 목록을 계산하고 조건자가 충족되는 첫 번째 결과 식을 반환합니다. |
datetime_add() |
지정된 날짜 부분에 지정된 양을 곱한 값으로 새 날짜/시간을 계산하고 지정된 날짜/시간에 더합니다. |
datetime_diff() |
두 날짜/시간 값의 차이를 계산합니다. |
iif() |
첫 번째 인수를 계산하고 조건자가 true(두 번째) 또는 false(세 번째)인지 여부에 따라 두 번째 또는 세 번째 인수의 값을 반환합니다 |
indexof() |
함수는 입력 문자열 내에서 지정된 문자열의 첫 번째 발생의 0부터 시작하는 인덱스를 보고합니다. |
isnotnull() |
해당 단독 인수를 계산하고 인수가 null이 아닌 값으로 계산되는지 여부를 나타내는 부울 값을 반환합니다. |
isnull() |
유일한 인수를 계산하고 인수가 null 값으로 계산되는지 여부를 나타내는 부울 값을 반환합니다 |
now() |
현재 UTC 시계 시간을 반환합니다. |
strcat() |
1-64개의 인수를 연결합니다. |
strlen() |
입력 문자열의 길이(문자 수)를 반환합니다. |
substring() |
원본 문자열에서 일부 인덱스에서 시작하여 문자열의 끝까지 하위 문자열을 추출합니다. |
tostring() |
입력을 문자열 표현으로 변환합니다. |
지원되는 속성
디바이스 쿼리는 다음 엔터티를 지원합니다. 각 엔터티에 지원되는 속성에 대한 자세한 내용은 Intune 데이터 플랫폼 스키마를 참조하세요.
BiosInfoCertificateCpuDiskDriveEncryptableVolumeFileInfoLocalGroupLocalUserAccountLogicalDriveMemoryInfoOsVersionProcessSystemEnclosureSystemInfoTpmWindowsAppCrashEventWindowsDriverWindowsEventWindowsQfeWindowsRegistryWindowsService
알려진 제한
- 모든 쿼리의 결과 문자열은 128kb자로 제한됩니다. 쿼리 결과가 128kb자를 초과하면 결과가 잘립니다. 잘린 행 수를 알려주는 오류 메시지입니다.
- 분당 15개의 쿼리만 보낼 수 있습니다. 쿼리 제한 초과 오류가 발생하면 잠시 기다렸다가 다시 시도하세요.
- 쿼리 입력의 길이는 2048자로 제한됩니다. 쿼리가 너무 긴 오류가 발생하면 더 적은 문자로 쿼리를 구체화하고 다시 시도하세요.
- now() 스칼라 함수는 offset 매개 변수를 지원하지 않습니다.
-
!like연산자는 지원되지 않습니다. - 다음 연산자에서 작은따옴표만 지원되는 경우 입력 창은 큰따옴표를 자동으로 권장합니다.
contains!containsstartswith!startswithendswith
- WindowsRegistry 엔터티가 루트의 RegistryKey를 반환하지 못합니다.
- WindowsRegistry 엔터티가 64비트 공유 레지스트리 키를 반환하지 못합니다.
- WindowsRegistry 엔터티가 이진 ValueData를 반환하지 못합니다.
- 컴퓨터에서 사용할 수 있는 네트워크 카드가 여러 개 있으면 구성된 첫 번째 도메인만 반환됩니다.
- 장치에 TPM 2.0이 있으면 활성화 및 사용은 항상 TRUE로 반환됩니다.
- 파일이 현재 컴퓨터에서 사용 중인 경우 FileInfo 쿼리가 오류를 반환합니다.
- 최종 사용자에게 장치에 대한 관리자 액세스 권한이 있는 경우 쿼리 결과에 반환된 클라이언트 기반 정보를 변경할 수 있습니다. 예를 들어 OS 버전 및 레지스트리입니다.