如何在PowerShell中以表格形式显示Azure可用区域
解决Azure区域列表的整洁格式化问题
嘿,我懂你想把Azure可用区域整理成清爽格式,而非一长串单行列表的烦恼!你的原命令问题出在把DisplayName展开成了字符串数组,再传给Format-Table时,它只能按单个字符串逐行显示,自然效果不佳。给你几个实用的解决方案:
1. 多列表格展示(带区域代码)
如果想同时看到区域的显示名称和短代码,直接对原始结果用Format-Table并加上AutoSize,让列宽自适应:
# AzureRm模块版本 Get-AzureRmLocation | Format-Table DisplayName, Location -AutoSize # 推荐升级到Az模块(AzureRm已弃用) Get-AzLocation | Format-Table DisplayName, Location -AutoSize
这样会生成紧凑的两列表格,信息完整又不杂乱。
2. 多列横向排版仅显示区域名称
要是只需要展示DisplayName,想把长列表分成多列横向排列,用Format-Wide最合适:
# 分成3列展示(可根据终端宽度调整列数) Get-AzureRmLocation | Select-Object -ExpandProperty DisplayName | Format-Wide -Column 3 # Az模块版本 Get-AzLocation | Select-Object -ExpandProperty DisplayName | Format-Wide -Column 3
你可以根据自己终端的宽度调整-Column的数值,比如改成4或5,让排版更适配你的屏幕。
3. 生成Markdown格式表格(适合文档/笔记)
如果需要把区域列表复制到文档或笔记里,直接生成Markdown表格更方便:
$locations = Get-AzureRmLocation | Select-Object DisplayName, Location # 输出Markdown表头 "| 区域显示名称 | 区域代码 |`n|--------------|----------|" # 逐行生成表格内容 $locations | ForEach-Object { "| $($_.DisplayName) | $($_.Location) |" }
执行后就能直接复制输出的内容,粘贴到Markdown编辑器里就是规整的表格啦。
小提醒
微软已经停止对AzureRm模块的更新,建议你尽早升级到Az模块,命令语法基本一致,后续能获得更好的支持和新功能哦!
内容的提问来源于stack exchange,提问作者HariHaran
相关产品推荐
相关产品推荐

