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

如何通过Azure Cloud Shell列出所有Function apps和App Services的环境变量

在Azure Cloud Shell中批量导出App Service/Function App的环境变量

方法一:使用PowerShell

  1. 先切换到目标订阅(多订阅场景下):
Select-AzSubscription -SubscriptionName "你的订阅名称"
  1. 运行以下脚本,批量获取所有App Service/Function App的应用设置和连接字符串,输出结构化列表:
# 获取所有Web应用(包含Function App)
$webApps = Get-AzWebApp

# 遍历每个应用提取配置
foreach ($app in $webApps) {
    Write-Host "=== 服务名称: $($app.Name) ===" -ForegroundColor Cyan
    
    # 输出应用设置
    Write-Host "--- 应用设置 ---" -ForegroundColor Yellow
    $app.SiteConfig.AppSettings | ForEach-Object {
        Write-Host "名称: $($_.Name) | 值: $($_.Value)"
    }
    
    # 输出连接字符串
    Write-Host "--- 连接字符串 ---" -ForegroundColor Yellow
    $app.SiteConfig.ConnectionStrings | ForEach-Object {
        Write-Host "名称: $($_.Name) | 值: $($_.ConnectionString) | 类型: $($_.Type)"
    }
    
    Write-Host "`n"
}

如果需要导出到CSV文件方便后续检查,可使用以下脚本:

$results = @()
foreach ($app in $webApps) {
    # 收集应用设置
    foreach ($setting in $app.SiteConfig.AppSettings) {
        $results += [PSCustomObject]@{
            服务名称 = $app.Name
            资源组 = $app.ResourceGroup
            配置类型 = "应用设置"
            名称 = $setting.Name
            值 = $setting.Value
        }
    }
    # 收集连接字符串
    foreach ($cs in $app.SiteConfig.ConnectionStrings) {
        $results += [PSCustomObject]@{
            服务名称 = $app.Name
            资源组 = $app.ResourceGroup
            配置类型 = "连接字符串"
            名称 = $cs.Name
            值 = $cs.ConnectionString
            类型 = $cs.Type
        }
    }
}
$results | Export-Csv -Path "所有服务环境变量.csv" -NoTypeInformation -Encoding UTF8

方法二:使用Bash(Azure CLI)

  1. 切换到目标订阅(多订阅场景下):
az account set --subscription "你的订阅名称"
  1. 运行以下脚本批量获取并输出所有服务的配置:
# 获取所有Web应用ID列表
webapp_ids=$(az webapp list --query "[].id" -o tsv)

# 遍历每个应用
for id in $webapp_ids; do
    app_name=$(echo $id | awk -F '/' '{print $9}')
    echo "=== 服务名称: $app_name ==="
    
    # 输出应用设置
    echo "--- 应用设置 ---"
    az webapp config appsettings list --ids $id --query "[].{Name:name, Value:value}" -o table
    
    # 输出连接字符串
    echo "--- 连接字符串 ---"
    az webapp config connection-string list --ids $id --query "[].{Name:name, Value:connectionString, Type:type}" -o table
    
    echo -e "\n"
done

若要导出到CSV文件,可使用以下脚本:

echo "服务名称,配置类型,名称,值,类型" > 所有服务环境变量.csv

webapp_ids=$(az webapp list --query "[].id" -o tsv)
for id in $webapp_ids; do
    app_name=$(echo $id | awk -F '/' '{print $9}')
    
    # 导出应用设置
    az webapp config appsettings list --ids $id --query "[].\"$app_name\",'应用设置',name,value,''" -o tsv | awk -F '\t' '{print $1","$2","$3","$4","$5}' >> 所有服务环境变量.csv
    
    # 导出连接字符串
    az webapp config connection-string list --ids $id --query "[].\"$app_name\",'连接字符串',name,connectionString,type" -o tsv | awk -F '\t' '{print $1","$2","$3","$4","$5}' >> 所有服务环境变量.csv
done

注意事项

  • 确保Cloud Shell中已安装最新版本的Az模块(PowerShell)或Azure CLI
  • 部分敏感配置值会被自动掩码,如需查看完整值可检查导出的CSV文件
  • 若只需处理特定资源组的服务,可在获取应用列表时添加-ResourceGroupName(PowerShell)或--resource-group(Bash)参数过滤

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 18:47:20