Virtual Machines - Install Patches
VM에 패치를 설치합니다.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/installPatches?api-version=2025-04-01
URI 매개 변수
| Name | In(다음 안에) | 필수 | 형식 | Description |
|---|---|---|---|---|
|
resource
|
path | True |
string minLength: 1maxLength: 90 |
리소스 그룹의 이름입니다. 이름은 대소문자를 구분하지 않습니다. |
|
subscription
|
path | True |
string minLength: 1 |
대상 구독의 ID입니다. |
|
vm
|
path | True |
string |
가상 컴퓨터의 이름입니다. |
|
api-version
|
query | True |
string minLength: 1 |
이 작업에 사용할 API 버전입니다. |
요청 본문
| Name | 필수 | 형식 | Description |
|---|---|---|---|
| rebootSetting | True |
소프트웨어 업데이트 작업 중에 VM을 다시 부팅할 수 있는 시기를 정의합니다. |
|
| linuxParameters |
API에서 직접 수신한 Linux VM의 InstallPatches에 대한 입력 |
||
| maximumDuration |
string (duration) |
작업이 실행되는 최대 시간을 지정합니다. PT4H(4시간)와 같은 ISO 8601 규격 기간 문자열이어야 합니다. |
|
| windowsParameters |
API에서 직접 수신한 Windows VM의 InstallPatches에 대한 입력 |
응답
| Name | 형식 | Description |
|---|---|---|
| 200 OK |
Azure 작업이 성공적으로 완료되었습니다. |
|
| 202 Accepted |
자원 작업이 허용되었습니다. 헤더
|
|
| Other Status Codes |
예기치 않은 오류 응답입니다. |
보안
azure_auth
Azure Active Directory OAuth2 흐름.
형식:
oauth2
Flow:
implicit
권한 부여 URL:
https://login.microsoftonline.com/common/oauth2/authorize
범위
| Name | Description |
|---|---|
| user_impersonation | 사용자 계정 가장 |
예제
Install patch state of a virtual machine.
샘플 요청
POST https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName/installPatches?api-version=2025-04-01
{
"maximumDuration": "PT4H",
"rebootSetting": "IfRequired",
"windowsParameters": {
"classificationsToInclude": [
"Critical",
"Security"
],
"maxPatchPublishDate": "2020-11-19T02:36:43.0539904+00:00",
"patchNameMasksToInclude": [
"*SQL*"
],
"patchNameMasksToExclude": [
"*Windows*"
]
}
}
샘플 응답
{
"status": "Succeeded",
"installationActivityId": "68f8b292-dfc2-4646-9781-33cc88631968",
"rebootStatus": "Completed",
"maintenanceWindowExceeded": false,
"excludedPatchCount": 0,
"notSelectedPatchCount": 0,
"pendingPatchCount": 2,
"installedPatchCount": 3,
"failedPatchCount": 0,
"startDateTime": "2020-04-24T21:02:04.2556154Z",
"patches": [
{
"patchId": "35428702-5784-4ba4-a6e0-5222258b5411",
"name": "Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.279.1373.0)",
"version": "",
"kbId": "2267602",
"classifications": [
"Definition Updates"
],
"installationState": "Installed"
},
{
"patchId": "39f9cdd1-795c-4d0e-8c0a-73ab3f31746d",
"name": "Windows Malicious Software Removal Tool x64 - October 2018 (KB890830)",
"version": "",
"kbId": "890830",
"classifications": [
"Update Rollups"
],
"installationState": "Pending"
}
],
"error": null
}
Location: https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/westus/operations/{operationId}&monitor=true&api-version=2025-04-01
정의
| Name | Description |
|---|---|
|
Api |
API 오류. |
|
Api |
API 오류 기반. |
|
Cloud |
컴퓨팅 서비스의 오류 응답입니다. |
|
Inner |
내부 오류 세부 정보입니다. |
|
Linux |
API에서 직접 수신한 Linux VM의 InstallPatches에 대한 입력 |
|
Patch |
설치 작업 중에 발생한 특정 패치에 대한 정보입니다. |
|
Patch |
설치 작업이 완료된 후의 패치 상태입니다. |
|
Patch |
작업의 전반적인 성공 또는 실패 상태입니다. 작업이 완료될 때까지 "InProgress"로 유지됩니다. 이 시점에서 "알 수 없음", "실패", "성공" 또는 "CompletedWithWarnings"가 됩니다. |
|
Virtual |
API에서 직접 수신한 InstallPatches에 대한 입력 |
|
Virtual |
설치 조작의 결과 요약입니다. |
|
VMGuest |
|
|
VMGuest |
|
|
VMGuest |
소프트웨어 업데이트 작업 중에 VM을 다시 부팅할 수 있는 시기를 정의합니다. |
|
VMGuest |
작업 완료 후 VM의 재부팅 상태입니다. |
|
Windows |
API에서 직접 수신한 Windows VM의 InstallPatches에 대한 입력 |
ApiError
API 오류.
| Name | 형식 | Description |
|---|---|---|
| code |
string |
오류 코드입니다. |
| details |
Api 오류 세부 정보 |
|
| innererror |
Api 내부 오류 |
|
| message |
string |
오류 메시지입니다. |
| target |
string |
특정 오류의 대상입니다. |
ApiErrorBase
API 오류 기반.
| Name | 형식 | Description |
|---|---|---|
| code |
string |
오류 코드입니다. |
| message |
string |
오류 메시지입니다. |
| target |
string |
특정 오류의 대상입니다. |
CloudError
컴퓨팅 서비스의 오류 응답입니다.
| Name | 형식 | Description |
|---|---|---|
| error |
API 오류. |
InnerError
내부 오류 세부 정보입니다.
| Name | 형식 | Description |
|---|---|---|
| errordetail |
string |
내부 오류 메시지 또는 예외 덤프입니다. |
| exceptiontype |
string |
예외 유형입니다. |
LinuxParameters
API에서 직접 수신한 Linux VM의 InstallPatches에 대한 입력
| Name | 형식 | Description |
|---|---|---|
| classificationsToInclude |
Linux용 패치를 설치할 때 선택할 업데이트 분류입니다. |
|
| maintenanceRunId |
string |
이는 Linux에서 자동 VM 게스트 패치에 대한 유지 관리 실행 식별자로 사용됩니다. |
| packageNameMasksToExclude |
string[] |
패치 작업에서 제외할 패키지입니다. 형식: packageName_packageVersion |
| packageNameMasksToInclude |
string[] |
패치 작업에 포함할 패키지입니다. 형식: packageName_packageVersion |
PatchInstallationDetail
설치 작업 중에 발생한 특정 패치에 대한 정보입니다.
| Name | 형식 | Description |
|---|---|---|
| classifications |
string[] |
패치 게시자가 제공하는 패치의 분류입니다. |
| installationState |
설치 작업이 완료된 후의 패치 상태입니다. |
|
| kbId |
string |
패치의 KBID입니다. Windows 패치에만 적용됩니다. |
| name |
string |
패치의 식별 이름입니다. |
| patchId |
string |
패치의 고유 식별자입니다. |
| version |
string |
패키지의 버전 문자열입니다. 의미 체계 버전 관리를 준수할 수 있습니다. Linux에만 적용됩니다. |
PatchInstallationState
설치 작업이 완료된 후의 패치 상태입니다.
| 값 | Description |
|---|---|
| Unknown | |
| Installed | |
| Failed | |
| Excluded | |
| NotSelected | |
| Pending |
PatchOperationStatus
작업의 전반적인 성공 또는 실패 상태입니다. 작업이 완료될 때까지 "InProgress"로 유지됩니다. 이 시점에서 "알 수 없음", "실패", "성공" 또는 "CompletedWithWarnings"가 됩니다.
| 값 | Description |
|---|---|
| Unknown | |
| InProgress | |
| Failed | |
| Succeeded | |
| CompletedWithWarnings |
VirtualMachineInstallPatchesParameters
API에서 직접 수신한 InstallPatches에 대한 입력
| Name | 형식 | Description |
|---|---|---|
| linuxParameters |
API에서 직접 수신한 Linux VM의 InstallPatches에 대한 입력 |
|
| maximumDuration |
string (duration) |
작업이 실행되는 최대 시간을 지정합니다. PT4H(4시간)와 같은 ISO 8601 규격 기간 문자열이어야 합니다. |
| rebootSetting |
소프트웨어 업데이트 작업 중에 VM을 다시 부팅할 수 있는 시기를 정의합니다. |
|
| windowsParameters |
API에서 직접 수신한 Windows VM의 InstallPatches에 대한 입력 |
VirtualMachineInstallPatchesResult
설치 조작의 결과 요약입니다.
| Name | 형식 | Description |
|---|---|---|
| error |
작업 실행 중에 발생한 오류입니다. 세부 배열에는 해당 목록이 포함되어 있습니다. |
|
| excludedPatchCount |
integer (int32) |
사용자가 설치를 차단하여 설치되지 않은 패치 수입니다. |
| failedPatchCount |
integer (int32) |
일부 문제로 인해 설치할 수 없는 패치 수입니다. 자세한 내용은 오류를 참조하세요. |
| installationActivityId |
string |
이 결과를 생성한 작업의 활동 ID입니다. CRP 및 확장 로그 간에 상관 관계를 지정하는 데 사용됩니다. |
| installedPatchCount |
integer (int32) |
성공적으로 설치된 패치 수입니다. |
| maintenanceWindowExceeded |
boolean |
작업이 의도한 모든 작업을 완료하기 전에 시간이 부족한지 여부입니다. |
| notSelectedPatchCount |
integer (int32) |
설치할 수 있는 것으로 감지되었지만 작업 기준을 충족하지 못한 패치 수입니다. |
| patches |
작업 중에 설치된 패치입니다. |
|
| pendingPatchCount |
integer (int32) |
설치 기준을 충족하는 것으로 식별되었지만 설치할 수 없는 패치의 수입니다. 일반적으로 이 문제는 maintenanceWindowExceeded == true일 때 발생합니다. |
| rebootStatus |
작업 완료 후 VM의 재부팅 상태입니다. |
|
| startDateTime |
string (date-time) |
작업이 시작된 UTC 타임스탬프입니다. |
| status |
작업의 전반적인 성공 또는 실패 상태입니다. 작업이 완료될 때까지 "InProgress"로 유지됩니다. 이 시점에서 "Failed", "Succeeded", "Unknown" 또는 "CompletedWithWarnings"가 됩니다. |
VMGuestPatchClassificationLinux
| 값 | Description |
|---|---|
| Critical | |
| Security | |
| Other |
VMGuestPatchClassificationWindows
| 값 | Description |
|---|---|
| Critical | |
| Security | |
| UpdateRollUp | |
| FeaturePack | |
| ServicePack | |
| Definition | |
| Tools | |
| Updates |
VMGuestPatchRebootSetting
소프트웨어 업데이트 작업 중에 VM을 다시 부팅할 수 있는 시기를 정의합니다.
| 값 | Description |
|---|---|
| IfRequired | |
| Never | |
| Always |
VMGuestPatchRebootStatus
작업 완료 후 VM의 재부팅 상태입니다.
| 값 | Description |
|---|---|
| Unknown | |
| NotNeeded | |
| Required | |
| Started | |
| Failed | |
| Completed |
WindowsParameters
API에서 직접 수신한 Windows VM의 InstallPatches에 대한 입력
| Name | 형식 | Description |
|---|---|---|
| classificationsToInclude |
Windows용 패치를 설치할 때 선택할 업데이트 분류입니다. |
|
| excludeKbsRequiringReboot |
boolean |
True로 설정된 경우 'NeverReboots'의 InstallationRebootBehavior가 없는 Kbs를 필터링합니다. |
| kbNumbersToExclude |
string[] |
패치 작업에서 제외할 KB |
| kbNumbersToInclude |
string[] |
패치 작업에 포함할 KB |
| maxPatchPublishDate |
string (date-time) |
이는 지정된 최대 게시 날짜 또는 그 이전에 게시된 패치를 설치하는 데 사용됩니다. |
| patchNameMasksToExclude |
string[] |
이는 지정된 패치 이름 마스크와 일치하는 패치를 제외하는 데 사용됩니다. * 및 ? 목록의 입력 값으로만 지원됩니다. 입력 값으로 Null, 비어 있고 공백만 있는 문자열은 지원되지 않습니다. |
| patchNameMasksToInclude |
string[] |
이는 지정된 패치 이름 마스크와 일치하는 패치를 포함하는 데 사용됩니다. * 및 ? 목록의 입력 값으로만 지원됩니다. 입력 값으로 Null, 비어 있고 공백만 있는 문자열은 지원되지 않습니다. |