如何获取Azure扩展最新API版本?VMDiagnosticsSettings等扩展的PowerShell查询
查询Azure VM扩展的最新版本(VMDiagnosticsSettings & CustomScriptExtension)
你说得没错,VMDiagnosticsSettings(实际对应IaaSDiagnostics扩展)和CustomScriptExtension都是虚拟机扩展,而非顶层的资源提供程序,所以Get-AzureRmResourceProvider确实查不到它们的版本信息。下面是两种可靠的PowerShell方法来获取这两个扩展的最新版本:
方法1:使用Az模块(推荐,AzureRm已弃用)
微软已经弃用了AzureRm模块,建议优先迁移到最新的Az模块。查询VM扩展版本的核心命令是Get-AzVMExtensionImage,它专门用于检索指定区域内VM扩展的可用版本:
查询CustomScriptExtension的最新版本
替换<你的Azure区域>为实际区域(比如eastus):
Get-AzVMExtensionImage -Location <你的Azure区域> -PublisherName Microsoft.Compute -Type CustomScriptExtension | Sort-Object Version -Descending | Select-Object -First 1
执行后会返回指定区域内该扩展的最新版本号,以及发布者、类型等元数据。
查询VMDiagnosticsSettings对应的扩展版本
注意:VMDiagnosticsSettings对应的实际扩展类型是IaaSDiagnostics,发布者为Microsoft.Azure.Diagnostics,命令如下:
Get-AzVMExtensionImage -Location <你的Azure区域> -PublisherName Microsoft.Azure.Diagnostics -Type IaaSDiagnostics | Sort-Object Version -Descending | Select-Object -First 1
方法2:使用旧AzureRm模块(仅兼容旧环境)
如果你暂时无法迁移到Az模块,对应的命令是Get-AzureRmVMExtensionImage,用法完全一致:
# 查询CustomScriptExtension Get-AzureRmVMExtensionImage -Location <你的Azure区域> -PublisherName Microsoft.Compute -Type CustomScriptExtension | Sort-Object Version -Descending | Select-Object -First 1 # 查询IaaSDiagnostics(对应VMDiagnosticsSettings) Get-AzureRmVMExtensionImage -Location <你的Azure区域> -PublisherName Microsoft.Azure.Diagnostics -Type IaaSDiagnostics | Sort-Object Version -Descending | Select-Object -First 1
额外提示
- 扩展版本可能因Azure区域而异,务必指定你实际部署虚拟机的区域
- 如果想查看该扩展的所有可用版本,去掉管道末尾的
| Select-Object -First 1即可
内容的提问来源于stack exchange,提问作者Johannes Schweer
相关产品推荐
相关产品推荐

