You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell将Azure App Service环境设置导出至Excel?

Azure App Service环境设置导出Excel解决方案

1. 你的az cli命令是否正确?

这条命令能正常获取指定App Service的应用设置,但存在两个局限性:

  • 输出table格式到txt文件时,若设置值包含空格、分号等特殊字符,后续转Excel容易出现列拆分、格式混乱的问题;
  • table格式的表头与内容分隔符在Excel中识别不稳定,不如json或csv格式可靠。

建议修改为输出json格式(后续PowerShell处理更灵活):

az webapp config appsettings list --name <app_name> --resource-group <resource_group_name> --query "[].{Name:name, Value:value}" --output json

2. 如何导出至Excel?

推荐两种实用方法,按需选择:

方法一:PowerShell + ImportExcel模块(推荐,处理特殊字符更稳定)

该模块专门用于PowerShell读写Excel,支持复杂格式:

  1. 先安装模块(仅需一次):
Install-Module -Name ImportExcel -Scope CurrentUser -Force
  1. 获取设置并导出到Excel(自动对应B列存设置名、C列存值):
# 获取指定App Service的应用设置并转为PowerShell对象
$appSettings = az webapp config appsettings list --name <app_name> --resource-group <resource_group_name> --query "[].{Name:name, Value:value}" | ConvertFrom-Json

# 导出到Excel,A列存AppService名称,B列存设置名,C列存值
$appSettings | Select-Object @{Name='AppService名称';Expression={'<app_name>'}}, Name, Value | Export-Excel -Path "AppService设置.xlsx" -WorksheetName "<app_name>" -AutoSize

方法二:导出CSV后用Excel打开(无需额外模块)

如果不想安装模块,可先导出为CSV格式,再用Excel打开:

az webapp config appsettings list --name <app_name> --resource-group <resource_group_name> --query "[].{Name:name, Value:value}" --output csv > appsettings.csv

打开CSV后可手动调整列位置(插入A列备注AppService名称),但注意:若设置值包含逗号,CSV会自动拆分列,这种场景下优先用方法一。

3. 能否遍历订阅内所有App Service批量导出?

可以,通过PowerShell遍历当前订阅下所有App Service,批量导出到同一个Excel文件(支持分工作表或合并到同一工作表):

批量导出代码示例

# 检查并安装ImportExcel模块
if (-not (Get-Module -ListAvailable -Name ImportExcel)) {
    Install-Module -Name ImportExcel -Scope CurrentUser -Force
}

# 获取当前订阅下所有App Service
$allWebApps = az webapp list --query "[].{Name:name, ResourceGroup:resourceGroup}" | ConvertFrom-Json

# 批量导出到同一个Excel文件,每个App Service对应一个工作表
$excelPath = "所有AppService设置.xlsx"
foreach ($webApp in $allWebApps) {
    Write-Host "正在获取$($webApp.Name)的设置..."
    $appSettings = az webapp config appsettings list --name $webApp.Name --resource-group $webApp.ResourceGroup --query "[].{Name:name, Value:value}" | ConvertFrom-Json
    # 添加AppService名称列,便于区分
    $appSettingsWithAppName = $appSettings | Select-Object @{Name='AppService名称';Expression={$webApp.Name}}, Name, Value
    # 导出到Excel,自动创建以AppService命名的工作表
    $appSettingsWithAppName | Export-Excel -Path $excelPath -WorksheetName $webApp.Name -AutoSize -Append
}

Write-Host "批量导出完成,文件路径:$excelPath"

如果想把所有设置合并到同一个工作表,只需删除-WorksheetName $webApp.Name参数即可,所有数据会追加到默认工作表中。

内容的提问来源于stack exchange,提问作者Kate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 00:42:41