运行Az模块Get-AzWvdHostPool等命令API报错,需确认是否为BUG
Az模块调用WVD相关Cmdlet时API版本不匹配问题分析
环境配置
- Az模块版本:v13.3.0、v10.4.1
- Az.DesktopVirtualization模块版本:v5.4.1
- PowerShell版本:v7.5.0、v5.1
问题现象
- 执行
Get-AzWvdHostPool时触发NotFound异常:
API返回NotFound,提示API版本2024-04-03在Microsoft.DesktopVirtualization命名空间中找不到hostpools资源类型,且该版本不在官方支持列表内。
- 执行
Get-AzWvdSessionHost时触发BadRequest错误:
在usgovvirginia区域、API版本2024-04-03下找不到hostpools/sessionhosts类型的已注册资源提供程序。
已完成的排查操作
- 升级Az模块至最新版本
- 降级Az模块至曾正常工作的v10.4.1版本
- 使用普通/管理员权限分别执行命令
- 在PowerShell Core 7.5.0和Windows PowerShell 5.1环境中测试
- 确认
Get-AzWvdHostPool/Get-AzWvdSessionHost在最新模块中仍处于可用状态 - 检查目标环境的可用API版本,确认未包含2024-04-03
临时解决方案
使用Get-AzResource命令手动指定有效API版本(如2024-07-01)直接调用资源,示例命令:
Get-AzResource -ResourceType "Microsoft.DesktopVirtualization/hostpools" -ApiVersion "2024-07-01"
问题定位结论
这是Az.DesktopVirtualization模块的BUG,而非本地工作环境问题。
原因在于模块硬编码了未被Azure政府云(usgovvirginia区域)支持的API版本2024-04-03:
- 跨Az模块版本(v10.4.1/v13.3.0)、跨PowerShell版本测试均出现相同问题,排除本地环境配置差异影响
- 手动指定有效API版本即可正常获取资源,证明问题根源在模块内置的API版本调用逻辑
内容的提问来源于stack exchange,提问作者theillien
相关产品推荐
相关产品推荐

