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

使用AzureCLI创建VPN连接时--local-gateway2命令未找到报错求助

问题排查与解决方案

核心问题分析

你遇到的--local-gateway2: command not found错误,并非参数用法错误,而是由脚本语法错误和CLI版本兼容性导致的命令解析混乱。

具体排查与修复步骤

1. 修正Azure DevOps变量引用语法

你的脚本中变量使用了错误的引用格式'($VariableName)',正确的Azure DevOps变量引用应为'$(VariableName)'。错误格式会被bash解析为尝试执行子shell命令,导致整个命令行参数解析混乱,进而触发错误。

修正后的脚本片段:

# Deploy IPsec VPN Site-to-Site in Azure
az network vpn-connection create \
  --name '$(VPNConnectionName)' \
  --resource-group '$(ResourceGroupName)' \
  --location '$(Location)' \
  --vnet-gateway1 '$(VNetGatewayName)' \
  --shared-key 'TEST123!' \
  --local-gateway2 '$(LocalNetworkGatewayName)'

2. 确保使用支持--local-gateway2的Azure CLI版本

--local-gateway2是Azure CLI较新版本引入的参数,如果AzureCLI@2任务默认使用的CLI版本过旧,会无法识别该参数。在任务中指定使用最新版本的CLI:

- task: AzureCLI@2
  displayName: 'Create_IPSec_VPN_Connection'
  inputs:
    azureSubscription: '$(ServiceConnectionName)'
    ScriptType: 'bash'
    scriptLocation: 'inlineScript'
    azureCliVersion: 'latest' # 指定使用最新Azure CLI版本
    InlineScript: |
      # Select Subscription to use
      az account set --subscription '$(SubscriptionName)'

      # Deploy IPsec VPN Site-to-Site in Azure
      az network vpn-connection create \
        --name '$(VPNConnectionName)' \
        --resource-group '$(ResourceGroupName)' \
        --location '$(Location)' \
        --vnet-gateway1 '$(VNetGatewayName)' \
        --shared-key 'TEST123!' \
        --local-gateway2 '$(LocalNetworkGatewayName)'

3. 检查命令行换行格式

确保az network vpn-connection create命令中,每行末尾的反斜杠\后面没有空格,直接换行。如果反斜杠后有空格,bash会将后续参数识别为新命令执行,引发类似错误。

额外提示

脚本中注释标注的# Powershell Inline commands与实际ScriptType: 'bash'不符,虽然不影响执行,但建议修正注释避免混淆。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 19:56:11