【问题标题】:msdeploy could not authorize when user is local admin当用户是本地管理员时,msdeploy 无法授权
【发布时间】:2014-01-29 19:42:49
【问题描述】:

在我的 webadmin 帐户上更改密码后,我的 msdeploy 脚本突然抛出 401 未经授权的错误。我正在使用的脚本是:

msdeploy.exe -source:package='[MyPackage].zip' -dest:auto,ComputerName='[MyServer]',UserName='[MyWebAdminUser]',Password='[MyWebAdminPassword]',IncludeAcls='False',AuthType='Basic' -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -allowUntrusted -retryAttempts=2 -setParam:'IIS Web Application Name'='[MyApp]'

在故障排除方面:

  • Web 管理员帐户是目标计算机上的本地管理员
  • 所有适当的帐户都可以完全控制目标目录
  • 我检查了 Web 管理服务设置(未更改),它们似乎是正确的
  • 我检查了我的部署脚本没有改变

我还能尝试什么?

【问题讨论】:

    标签: msdeploy http-status-code-401


    【解决方案1】:

    检查远程服务器上的 Web 部署事件日志以确保,但听起来这三个帐户之一的密码已过期:您的管理员用户、WDeployAdmin 或 WDeployConfigWriter

    WDeploy* 用户不会过期,但某些域策略会强制执行它。如果确实是其中之一,您可能需要使用我的博客条目来重置 IIS 中的密码:http://blog.richardszalay.com/2013/08/02/manually-creating-wdeployadmin-and-wdeployconfigwriter/

    【讨论】:

    • 我在本地服务器上看到一个空的 Web 部署日志。我还应该在事件日志中查看其他任何地方吗?我应该寻找什么?
    • @JeffreyABecker 本地服务器事件日志无关紧要。查看remote服务器上的日志。
    • 对不起,本地服务器可能是一个错误的选择。在 dest 选项中的计算机服务器上,我没有看到任何特别相关的内容。我预计 WDeployAdmin/ConfigWriter 用户会登录失败,但我没有看到这些。
    • @JeffreyABecker - 实际上,登录失败将在安全日志中。
    【解决方案2】:

    所以,最终的问题是多方面的

    1. WDeploy* 帐户的密码已过期
    2. AD 结构有一个未记录的更改,其中跨域的用户名现在必须完全符合 @domain.com 格式。
    3. MyWebAdminUser 密码已更改为包含破坏 powershell 脚本的字符串

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多