如何通过New-AzMaintenanceConfiguration创建维护配置的动态范围?
解决Azure Update Manager动态范围维护配置的编程创建问题
核心说明
New-AzMaintenanceConfiguration仅用于定义维护配置的基础规则(如更新周期、补丁筛选条件等),动态范围(基于标签、资源类型或资源查询的目标机器集合)的关联是独立操作,需要通过New-AzMaintenanceAssignment cmdlet完成。
具体操作步骤
创建基础维护配置
先通过New-AzMaintenanceConfiguration生成维护规则,示例:$config = New-AzMaintenanceConfiguration ` -ResourceGroupName "你的资源组名称" ` -Name "你的维护配置名称" ` -MaintenanceScope "OS" ` -Location "eastus" ` -StartDateTime "2024-06-01T03:00:00" ` -TimeZone "Eastern Standard Time" ` -RecurEvery "Week" ` -WindowDuration "05:00" ` -InstallPatches @{ Linux = @{ ClassificationsToInclude = @("Critical", "Security") PackageNameMasksToInclude = @("*") } Windows = @{ ClassificationsToInclude = @("Critical", "Security") KBNumbersToInclude = @() } }关联动态范围到维护配置
动态范围依赖Azure资源查询语法,通过New-AzMaintenanceAssignment的ResourceQuery参数定义目标机器集合,示例:# 定义动态查询:筛选订阅内带标签"Environment:Production"的Linux虚拟机 $resourceQuery = @{ Query = "where type == 'Microsoft.Compute/virtualMachines' and tags.Environment == 'Production' and properties.storageProfile.osDisk.osType == 'Linux'" } # 创建分配,关联配置与动态范围 New-AzMaintenanceAssignment ` -ResourceGroupName "你的资源组名称" ` -Name "动态分配名称" ` -MaintenanceConfigurationId $config.Id ` -ResourceQuery $resourceQuery ` -Location "eastus"
关键注意事项
- 动态查询遵循Azure Resource Graph查询语法,可组合标签、资源类型、订阅ID等多维度条件。
- 维护分配的
Location必须与维护配置的Location保持一致。 - 跨订阅动态范围需在查询中指定目标订阅ID,示例:
$resourceQuery = @{ Query = "where subscriptionId in ('订阅ID1', '订阅ID2') and type == 'Microsoft.Compute/virtualMachines' and tags.Team == 'DevOps'" }
内容的提问来源于stack exchange,提问作者CUiD8pdQJh
相关产品推荐
相关产品推荐

