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

使用MSDeploy命令行部署Azure Web App时返回401(ERROR_USER_NOT_ADMIN)错误

解决Azure Web App命令行Web Deploy 401及连接问题

核心参数修正

你的命令存在两个关键参数错误,这是导致401和连接失败的主要原因:

1. 补全ComputerName的完整Web Deploy端点

Azure的Web Deploy需要指向SCM站点的msdeploy.axd专属端点,而非单纯的SCM域名。Visual Studio会自动填充这个路径,但命令行必须显式指定:

msdeploy.exe
    -verb:sync
    -source:dirpath="path\to\files"
    -dest:dirpath="site\wwwroot",ComputerName="https://myappservice.scm.azurewebsites.net/msdeploy.axd?site=myappservice",UserName="$myappservice",Password="your-publish-password",AuthType="Basic"

注意:site=后面的值要和你的Web App名称完全一致;UserName需使用发布配置文件中带$前缀的完整用户名(比如$myappservice),不能只输入部分字符串。

2. 修正目标路径格式

Azure SCM环境的路径无需Windows盘符,直接使用site\wwwroot即可,不需要写c:\home\site\wwwroot。

终端环境问题解决

普通CMD中出现ERROR_DESTINATION_NOT_REACHABLE是因为环境变量未包含Web Deploy的执行路径,解决方式二选一:

  • 直接使用msdeploy的完整路径调用,比如:
    "C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" [其余参数]
    
  • 将C:\Program Files\IIS\Microsoft Web Deploy V3添加到系统PATH环境变量,重启CMD后即可直接调用msdeploy.exe。

凭据验证要点

  • 确保使用应用范围的发布凭据,即Visual Studio中成功部署的发布配置文件里的用户名和密码,用户名必须保留$前缀。
  • 复制密码时避免引入多余的空格或换行,建议直接从发布配置文件XML的<userPWD>节点中复制原始值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 07:32:05