本文將逐步引導您在 Azure 的 Azue 更新管理員中,使用 Azure REST API 觸發啟用 Azure Arc 之伺服器上的評量和更新部署。 如果您不熟悉 Azure 更新管理員,而想要深入了解,請參閱更新管理員概觀。 若要使用 Azure REST API 來管理 Azure 虛擬機器,請參閱如何以程式設計方式使用 Azure 虛擬機器。
Azure 的更新管理員可以讓您使用 Azure REST API,透過程式設計的方式進行存取。 此外,您可以從 Azure PowerShell 和 Azure CLI 使用適當的 REST 命令。
若要以 Azure REST API 來管理已啟用 Azure Arc 的伺服器,可透過更新管理員虛擬機器延伸模組取得支援。
更新評估
若要在您已啟用 Azure Arc 的伺服器上觸發更新評量,請指定下列 POST 要求:
若要指定 POST 要求,您可以使用 Azure CLI az rest 命令。
az rest --method post --url https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/assessPatches?api-version=2020-08-15-preview --body @body.json
更新部署
若要對已啟用 Azure Arc 的伺服器觸發更新部署,請指定下列 POST 要求:
POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/installPatches?api-version=2020-08-15-preview`
要求本文
下表說明要求本文的元素:
| 屬性 | 說明 |
|---|---|
maximumDuration |
執行作業系統更新作業可能需要的最大時長 (分鐘)。 必須符合 ISO 8601 規範的持續時間字串 (如 PT100M)。 |
rebootSetting |
旗標,指出您是否應該重新啟動電腦,指出 Azure 更新管理員 (AUM) 是否應該在更新作業中重新啟動電腦。 可接受的值為:IfRequired, NeverReboot, AlwaysReboot。 |
windowsParameters |
執行支援的 Microsoft Windows Server 作業系統之機器上的客體作業系統更新參數選項。 |
windowsParameters - classificationsToInclude |
要套用的作業系統更新類別或分類清單,如 Windows Server OS 所支援和提供。 可接受的值為:Critical, Security, UpdateRollup, FeaturePack, ServicePack, Definition, Tools, Update |
windowsParameters - kbNumbersToInclude |
可供機器使用且您需要安裝的 Windows Update KB 識別碼清單。 您如有加入任何 ‘classificationsToInclude',將會安裝類別中可用的 KB。 'kbNumbersToInclude' 是一個選項,提供您想要安裝的特定 KB 識別碼清單。 例如:1234 |
windowsParameters - kbNumbersToExclude |
電腦可用且 不應 安裝的 Windows Update KB 識別碼清單。 您如有加入任何 'classificationsToInclude',將會安裝類別中的可用 KB。 'kbNumbersToExclude' 是一個選項,提供您要排除而不安裝的特定 KB 識別碼清單。 例如:5678 |
maxPatchPublishDate |
此元素用來安裝在此發佈日期期限當天或之前發佈的修補程式。 |
linuxParameters |
機器執行時的客體 OS 更新參數選項支援 Linux 散發套件 |
linuxParameters - classificationsToInclude |
要套用的作業系統更新類別或分類清單,如 Linux OS 的套件管理員所支援和提供。 可接受的值為:Critical, Security, Others。 如需詳細資訊,請參閱 Linux 套件管理員和 OS 支援。 |
linuxParameters - packageNameMasksToInclude |
可供機器使用且必須安裝的 Linux 套件清單。 如果已包含任何 'classificationsToInclude',則會安裝類別中提供的套件。 'packageNameMasksToInclude' 是一個選項,提供您想要安裝的套件清單。 例如:mysql, libc=1.0.1.1, kernel* |
linuxParameters - packageNameMasksToExclude |
適用於機器且不應安裝的 Linux 套件清單。 如果已包含任何 'classificationsToInclude',則會安裝類別中提供的套件。 'packageNameMasksToExclude' 是一個選項,提供您要排除而不安裝的特定套件清單。 例如:mysql, libc=1.0.1.1, kernel* |
若要指定 POST 要求,您可以使用 Azure CLI az rest 命令。
az rest --method post --url https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/Test/providers/Microsoft.HybridCompute/machines/WIN-8/installPatches?api-version=2020-08-15-preview @body.json
2020-08-15 版的要求本文格式如下:
{
"maximumDuration": "PT120M",
"rebootSetting": "IfRequired",
"windowsParameters": {
"classificationsToInclude": [
"Security",
"UpdateRollup",
"FeaturePack",
"ServicePack"
],
"kbNumbersToInclude": [
"11111111111",
"22222222222222"
],
"kbNumbersToExclude": [
"333333333333",
"55555555555"
]
}
}
建立維護設定排程
若要建立維護設定排程,請指定下列 PUT 要求:
PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Maintenance/maintenanceConfigurations/<maintenanceConfigurationsName>?api-version=2021-09-01-preview`
要求本文
下表說明要求本文的元素:
| 屬性 | 說明 |
|---|---|
id |
資源的完整識別碼 |
location |
取得或設定資源的位置 |
name |
資源名稱 |
properties.extensionProperties |
取得或設定 maintenanceConfiguration 的 extensionProperties |
properties.maintenanceScope |
取得或設定組態的 maintenanceScope |
properties.maintenanceWindow.duration |
HH:mm 格式的維護期間。 如果未提供,則會根據提供的維護範圍來使用預設值。 範例:05:00。 |
properties.maintenanceWindow.expirationDateTime |
YYYY-MM-DD hh:MM 格式維護期間的有效到期日。 時段會依據提供的時區建立,並會依據該時區使用日光節約時間。 您必須將到期日設定為未來的日期。 如果未提供,則會將其設定為日期時間上限 9999-12-31 23:59:59。 |
properties.maintenanceWindow.recurEvery |
預期維護期間重複發生的速度。 速度可以以每日、每週或每月排程表示。 您可以將每日排程格式化為 recurEvery:[整數的次數]['天數']。 如果未提供任何頻率,則預設頻率為 1。 每日排程範例為 recurEvery: Day, recurEvery: 3Days。 每週排程的格式為 recurEvery: [頻率為整數]['Week(s)'] [週一至週日的可選逗號分隔清單]。 舉例來說,每週排程可以是 recurEvery: 3Weeks、recurEvery: Week Saturday,Sunday。 您可以將每月排程格式化為 [整數的次數]['月'] [以逗號分隔的月份天數清單] 或 [整數的次數]['月'] [每月的第幾週 (第一, 第二, 第三, 第四, 最後)] [星期幾 (週一至週日)]。 舉例來說,每月排程可以是 are recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23, day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday。 |
properties.maintenanceWindow.startDateTime |
YYYY-MM-DD hh:mm 格式維護期間的有效開始日期。 您可以將開始日期設定為目前日期或未來的日期。 視窗將建立在提供的時區中,並根據該時區調整為日光節約時間。 |
properties.maintenanceWindow.timeZone |
時區的名稱。 您可以在 PowerShell 中執行 [System.TimeZoneInfo]:GetSystemTimeZones() 來取得時區清單。 範例:太平洋標準時間、UTC、西歐標準時間、韓國標準時間、Cen。 澳大利亞標準時間。 |
properties.namespace |
取得或設定資源的命名空間 |
properties.visibility |
取得或設定組態的可見度。 預設值為 'Custom' |
systemData |
包含 createdBy 和 modifiedBy 資訊的 Azure Resource Manager 中繼資料。 |
tags |
取得或設定資源的標記 |
type |
資源的類型 |
az maintenance configuration create \
--resource-group myMaintenanceRG \
--resource-name myConfig \
--maintenance-scope InGuestPatch \
--location eastus \
--maintenance-window-duration "02:00" \
--maintenance-window-recur-every "20days" \
--maintenance-window-start-date-time "2022-12-30 07:00" \
--maintenance-window-time-zone "Pacific Standard Time" \
--install-patches-linux-parameters package-name-masks-to-exclude="ppt" package-name-masks-to-include="apt" classifications-to-include="Other" \
--install-patches-windows-parameters kb-numbers-to-exclude="KB123456" kb-numbers-to-include="KB123456" classifications-to-include="FeaturePack" \
--reboot-setting "IfRequired" \
--extension-properties InGuestPatchMode="User"
建立 VM 與排程的關聯
若要將虛擬機器與維護設定排程建立關聯,請指定下列 PUT 要求:
PUT on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`
az maintenance assignment create \
--resource-group myMaintenanceRG \
--location eastus \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"
從排程中移除機器
若要從排程中移除機器,請為您所建立的機器,取得其用以連結如下所示之 Azure Resource Graph 中目前排程所需的所有設定指派名稱:
az maintenance configuration delete \
--resource-group myMaintenanceRG \
--location eastus \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"
下一步
- 若要檢視 Update Manager 所產生的更新評估和部署記錄,請參閱 查詢記錄
- 若要疑難排解問題,請參閱更新管理器中的「疑難排解」功能
- PowerShell 參考 Az.Maintenance 模組