Az PowerShell执行policy definition show报错:名称长度限制矛盾解析
问题原因及解决方法
核心原因
你混淆了Azure策略定义的两个关键名称属性:
- 显示名称(displayName):就是你看到的长名称,最大支持128字符,用于Azure门户展示
- 资源名称(name):策略的唯一标识符,最大长度限制为64字符,
az policy definition show命令的--name参数要求传入的是这个标识符,而非显示名称
你当前传入的是显示名称,超出了资源名称的64字符限制,因此触发报错。
解决步骤
查询策略的真实资源名称
用显示名称过滤查询,获取对应的资源名称:az policy definition list --query "[?displayName=='Deploy - Configure Log Analytics extension to be enabled on Windows virtual machines'].{Name:name, DisplayName:displayName}"执行后会返回类似结果:
[ { "DisplayName": "Deploy - Configure Log Analytics extension to be enabled on Windows virtual machines", "Name": "deploy-configure-log-analytics-vm-windows" } ]使用资源名称执行查询
用上一步得到的Name值作为参数,执行show命令:az policy definition show --name deploy-configure-log-analytics-vm-windows
补充说明
- Azure内置策略的资源名称都是经过简化的短标识符,而显示名称是更直观的长描述
- 自定义创建策略时,
name参数必须符合64字符限制,displayName则可以使用最长128字符的友好名称
内容的提问来源于stack exchange,提问作者jimmy_code
相关产品推荐
相关产品推荐

