다음을 통해 공유


Azure 업데이트 관리자 작업 데이터 액세스에 대한 샘플 Azure Resource Graph 쿼리

다음은 관리되는 컴퓨터에서 수집된 업데이트 평가 및 배포 정보 쿼리를 시작할 수 있도록 하는 몇 가지 샘플 쿼리입니다. 업데이트 평가 및 설치와 같은 작업에서 만들어진 로그에 대한 자세한 내용은 쿼리 로그 개요를 참조하세요.

모든 머신에 사용 가능한 업데이트를 업데이트 범주별로 나열

다음 쿼리는 평가가 수행된 시간, 평가를 위한 리소스 ID, 컴퓨터의 OS 형식 및 업데이트 분류에 따라 사용 가능한 OS 업데이트와 함께 컴퓨터에 대한 보류 중인 업데이트 목록을 반환합니다.

patchassessmentresources
| where type !has "softwarepatches"
| extend prop = parse_json(properties)
| extend lastTime = properties.lastModifiedDateTime
| extend updateRollupCount = prop.availablePatchCountByClassification.updateRollup, featurePackCount = prop.availablePatchCountByClassification.featurePack, servicePackCount = prop.availablePatchCountByClassification.servicePack, definitionCount = prop.availablePatchCountByClassification.definition, securityCount = prop.availablePatchCountByClassification.security, criticalCount = prop.availablePatchCountByClassification.critical, updatesCount = prop.availablePatchCountByClassification.updates, toolsCount = prop.availablePatchCountByClassification.tools, otherCount = prop.availablePatchCountByClassification.other, OS = prop.osType
| project lastTime, id, OS, updateRollupCount, featurePackCount, servicePackCount, definitionCount, securityCount, criticalCount, updatesCount, toolsCount, otherCount

업데이트 설치 횟수

다음 쿼리는 지난 7일 동안의 컴퓨터 상태와 함께 업데이트 설치 목록을 반환합니다. 결과에는 업데이트 배포가 실행된 시간, 설치의 리소스 ID, 컴퓨터 세부 정보, 해당 상태 및 선택에 따라 설치된 OS 업데이트 수가 포함됩니다.

patchinstallationresources
| where type !has "softwarepatches"
| extend machineName = tostring(split(id, "/", 8)), resourceType = tostring(split(type, "/", 0)), tostring(rgName = split(id, "/", 4))
| extend prop = parse_json(properties)
| extend lTime = todatetime(prop.lastModifiedDateTime), OS = tostring(prop.osType), installedPatchCount = tostring(prop.installedPatchCount), failedPatchCount = tostring(prop.failedPatchCount), pendingPatchCount = tostring(prop.pendingPatchCount), excludedPatchCount = tostring(prop.excludedPatchCount), notSelectedPatchCount = tostring(prop.notSelectedPatchCount)
| where lTime > ago(7d)
| project lTime, RunID=name,machineName, rgName, resourceType, OS, installedPatchCount, failedPatchCount, pendingPatchCount, excludedPatchCount, notSelectedPatchCount

완료된 Windows Server OS 업데이트 설치 목록

다음 쿼리는 지난 7일 동안의 컴퓨터 상태와 함께 Windows Server용 업데이트 설치 목록을 반환합니다. 결과에는 업데이트 배포가 실행된 시간, 설치의 리소스 ID, 컴퓨터 세부 정보 및 기타 관련 배포 세부 정보가 포함됩니다.

patchinstallationresources
| where type has "softwarepatches" and isnull(properties.version)
| extend machineName = tostring(split(id, "/", 8)), resourceType = tostring(split(type, "/", 0)), tostring(rgName = split(id, "/", 4)), tostring(RunID = split(id, "/", 10))
| extend prop = parse_json(properties)
| extend lTime = todatetime(prop.lastModifiedDateTime), patchName = tostring(prop.patchName), kbId = tostring(prop.kbId), installationState = tostring(prop.installationState), classifications = tostring(prop.classifications)
| where lTime > ago(7d)
| project lTime, RunID, machineName, rgName, resourceType, patchName, kbId, classifications, installationState
| sort by RunID

완료된 Linux OS 업데이트 설치 목록

다음 쿼리는 지난 7일 동안 컴퓨터의 상태와 함께 Linux용 업데이트 설치 목록을 반환합니다. 결과에는 업데이트 배포가 실행된 시간, 설치의 리소스 ID, 컴퓨터 세부 정보 및 기타 관련 배포 세부 정보가 포함됩니다.

patchinstallationresources
| where type has "softwarepatches" and isnotnull(properties.version) and isnull(properties.kbId)
| extend machineName = tostring(split(id, "/", 8)), resourceType = tostring(split(type, "/", 0)), tostring(rgName = split(id, "/", 4)), tostring(RunID = split(id, "/", 10))
| extend prop = parse_json(properties)
| extend lTime = todatetime(prop.lastModifiedDateTime), patchName = tostring(prop.patchName), version = tostring(prop.version), installationState = tostring(prop.installationState), classifications = tostring(prop.classifications)
| where lTime > ago(7d)
| project lTime, RunID, machineName, rgName, resourceType, patchName, version, classifications, installationState
| sort by RunID

VM 수준의 유지 관리 실행 기록 목록

다음 쿼리는 VM에 대한 모든 유지 관리 실행 레코드 목록을 반환합니다.

maintenanceresources 
| where ['id'] contains "/subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/microsoft.compute/virtualmachines/<vm-name>" //VM Id here
| where ['type'] == "microsoft.maintenance/applyupdates" 
| where properties.maintenanceScope == "InGuestPatch"

다음 단계

  • Azure Resource Graph를 사용하여 Azure의 업데이트 관리자에서 로그 및 검색 결과를 검토합니다.
  • 업데이트 관리자에서 문제를 해결하려면 문제 해결을 참조하세요.