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

Azure自动化Runbook报错az不是可识别cmdlet/程序修复方法

问题根因

报错核心原因是*az是Azure CLI的专属命令,不属于你导入的PowerShell Az模块范畴*:

  • 你在自动化账户中导入的Az模块,是供PowerShell原生Azure cmdlet(比如Add-AzAccount、Set-AzAppServicePlan)调用的依赖,和Azure CLI是两套完全独立的Azure管理工具
  • Azure自动化账户的默认运行沙箱没有预装Azure CLI,自然无法识别az命令;你本地能运行是因为本地环境提前安装了Azure CLI
  • 额外注意:Add-AzAccount完成的是PowerShell Az模块的认证,和Azure CLI的认证态不互通,就算沙箱装了CLI,也不能直接复用这个登录结果。
修复方案

方案1:替换为Az模块原生命令(推荐,无额外依赖、稳定性最高)

直接用你已经导入好的Az模块自带的Set-AzAppServicePlan cmdlet实现缩容,和现有服务主体认证逻辑完全兼容,不需要额外安装任何组件,运行速度快。
修复后的完整代码如下:

$connectionName = "AzureRunAsConnection"
try
{
    # 获取运行身份连接配置
    $servicePrincipalConnection=Get-AutomationConnection -Name $connectionName         

    Write-Output "Logging in to Azure..."
    Connect-AzAccount `
        -ServicePrincipal `
        -TenantId $servicePrincipalConnection.TenantId `
        -ApplicationId $servicePrincipalConnection.ApplicationId `
        -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint 

}
catch {
    if (!$servicePrincipalConnection)
    {
        $ErrorMessage = "Connection $connectionName not found."
        throw $ErrorMessage
    } else{
        Write-Error -Message $_.Exception
        throw $_.Exception
    }
}

$subscription = "替换为你的实际订阅ID"
$resourceGroupName = "替换为实际资源组名称"
$appServicePlanName = "替换为实际应用服务计划名称"
$sku = "B1"

# 切换到目标订阅
Set-AzContext -SubscriptionId $subscription | Out-Null

# 修改应用服务计划SKU完成缩容
Set-AzAppServicePlan -ResourceGroupName $resourceGroupName -Name $appServicePlanName -Tier Basic -WorkerSize Small

Write-Output "The app service plan is downgraded to $sku"

如果你后续要切换到其他SKU,对应Tier和WorkerSize的匹配规则:B1/S1对应Tier为Basic/Standard、WorkerSize为Small;B2/S2对应WorkerSize为Medium;B3/S3对应WorkerSize为Large。

方案2:保留Azure CLI命令(不推荐)

如果一定要使用az命令,需要在Runbook逻辑最开头添加Azure CLI的静默安装步骤,同时单独完成CLI的服务主体登录。但这种方式每次Runbook冷启动都要重新安装CLI,会额外增加1-2分钟运行时长,且沙箱环境权限变动可能导致安装失败,稳定性差,非必要不选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 04:18:14