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

运行Azure PowerShell创建App Service Plan返回Unauthorized错误

问题场景

在VS Code中运行如下PowerShell脚本创建Azure App Service相关资源时,New-AzAppServicePlan和New-AzWebApp命令返回Unauthorized错误:

$ResourceGroupName="powershell-grp"
$Location="North Europe"
$AppServicePlanName="PowershellAppService1975"
$WebAppName="PowershellWebApp1975"

Connect-AzAccount
Get-AzSubscription -SubscriptionName "Visual Studio Enterprise" | Select-AzSubscription
New-AzResourceGroup -Name $ResourceGroupName -Location $Location 
New-AzAppServicePlan -Name $AppServicePlanName -Location $Location -Tier "B1" -NumberofWorkers 1 -ResourceGroupName $ResourceGroupName
New-AzWebApp -ResourceGroupName $ResourceGroupName -Name $WebAppName -Location $Location -AppServicePlan $AppServicePlanName

返回错误信息:

New-AzAppServicePlan: C:\Temp\AzureCmds\Azure Powershell-WebApp\Script1.ps1:9:1
Line |
9 | New-AzAppServicePlan -Name $AppServicePlanName -Location $Location -T …
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Operation returned an invalid status code 'Unauthorized'

New-AzWebApp: C:\Temp\AzureCmds\Azure Powershell-WebApp\Script1.ps1:10:1
Line |
10 | New-AzWebApp -ResourceGroupName $ResourceGroupName -Name $WebAppName …
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Operation returned an invalid status code 'Unauthorized'

故障原因

该报错属于鉴权失败,核心是当前执行命令的身份没有对应操作的合法权限,常见触发原因包括:

  • 登录账号对目标订阅没有资源写入权限
  • 订阅切换操作未生效,命令实际在无权限的其他订阅上下文执行
  • Az模块版本过旧存在鉴权逻辑bug
  • 本地缓存的Azure登录令牌过期
  • 目标订阅状态异常(欠费、冻结、被禁用)
  • 订阅下Microsoft.Web资源提供程序未注册
排查修复步骤
  • 校验当前执行上下文
    登录并切换订阅后,单独执行Get-AzContext,确认返回结果中的订阅为目标Visual Studio Enterprise、登录账号为预期的有权限账号。通过订阅名切换订阅容易因为重名失效,优先用订阅ID指定上下文:
    # 替换为Azure门户订阅页查到的目标订阅ID
    Set-AzContext -SubscriptionId "你的目标订阅ID"
    
  • 校验账号RBAC权限
    进入Azure门户打开目标订阅的「访问控制(IAM)」页面,确认当前登录账号被分配了所有者、参与者角色,或持有包含Microsoft.Web资源创建权限的自定义角色。如果使用来宾账号访问,需要额外确认租户管理员已开放来宾账号的资源操作权限。
  • 清理过期缓存重新登录
    执行以下命令清空本地所有Az模块的登录缓存,重新走身份认证流程,避免复用过期的失效令牌:
    Clear-AzContext -Force
    Connect-AzAccount
    
  • 更新Az模块修复已知bug
    旧版本Az.Websites模块存在App Service相关操作的鉴权兼容bug,以管理员身份启动PowerShell执行以下命令更新全量Az模块,更新完成后重启PowerShell会话再执行脚本:
    Update-Module -Name Az -Force
    
  • 检查订阅状态
    在Azure门户确认目标订阅处于正常启用状态,无欠费、被管理员禁用、被Azure策略拦截写入的情况。
  • 检查资源提供程序注册状态
    分步执行脚本验证:如果New-AzResourceGroup执行成功,仅后续Web相关命令报错,执行以下命令注册Microsoft.Web资源提供程序,等待注册完成后再执行后续创建操作:
    Register-AzResourceProvider -ProviderNamespace Microsoft.Web
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 06:51:21