代码之家  ›  专栏  ›  技术社区  ›  kitsune

尝试同步站点时,msdeploy触发401拒绝访问错误

  •  9
  • kitsune  · 技术社区  · 16 年前

    我尝试将IIS站点从Win2003服务器推送/同步到另一个服务器。

    这是我的命令:

    msdeploy-verb:sync-source:metakey=lm/w3svc/68512112-dest:metakey=lm/w3svc/68512112,computername=backup-09,username=administrator,password=password-whatif>msdeploysync.log

    我也试过了

    msdeploy-verb:sync-source:metakey=lm/w3svc/68512112-dest:metakey=lm/w3svc/68512112,computername=backup-09,username=backup-09\administrator,password=password-whatif>msdeploysync.log

    我也试过了

    msdeploy-verb:sync-source:metakey=lm/w3svc/68512112-dest:metakey=lm/w3svc/68512112,computername=backup-09,username=administrator@backup-09,password=password-whatif>msdeploysync.log

    这是错误:

    致命的: 请求远程代理URL' http://backup-09/MSDEPLOYAGENTSERVICE ' 失败。

    致命的: 远程服务器返回一个错误:(401)未授权。 致命计数:1

    • 我运行msdeploy/cmd作为 管理员。
    • 我确实试着接近 http://backup-09/msdeployagentservice ,请 它要求我的许可,我 输入上面的凭据,它 工作(显示空站点)。
    • 这是MSDeploy的Beta 2

    有人能帮我吗?

    我现在甚至为所有服务器设置了域控制器…同样的问题,无论我是以域控制器的身份登录,还是提供本地帐户,所有的变化都会触发401

    6 回复  |  直到 16 年前
        1
  •  5
  •   Nixus    13 年前

    注意,web deploy 2.0(甚至刷新)中存在一个不允许管理组中的用户进行身份验证的错误。只有域管理员和管理员帐户本身可以对Web部署进行身份验证。请参阅以下页面上的错误用户非管理员错误代码: http://learn.iis.net/page.aspx/1023/web-deploy-error-codes/

        2
  •  3
  •   grante    14 年前

    默认情况下,msdeploy似乎使用ntlm身份验证,即使存在用户名和密码。若要启用“用户名”和“密码”的正确处理,请将以下内容附加到相关源:或dest:parameters:“,authtype=basic”

        3
  •  3
  •   Community CDub    8 年前

    之所以出现此错误,是因为已打开UAC(Windows Server 2008)。

    需要为远程连接关闭uac:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicy=1
    

    此密钥在另一台服务器(Windows Server 2012)上帮助了我:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WebManagement\Server\WindowsAuthenticationEnabled=1
    

    Michael12345建议如下: https://stackoverflow.com/a/15059759/991267

        4
  •  0
  •   speckledcarp    14 年前

    这是一个很老的问题,但我可能找到了答案。

    我收到401个未授权的错误消息,但仍然可以使用在调用msdeploy时指定的帐户登录,如问题中所述。

    在我的例子中,通过在正在部署的计算机上授予deploy account admin权限也解决了这个问题。

    (我看到你使用的是一个名为administrator的帐户,所以对你来说可能不是这样,但我有同样的症状,所以无论如何都想发布)。

        5
  •  0
  •   Greg B    11 年前

    我刚经历了一个401和错误用户不是管理员。在我的例子中,问题是我在hosts文件中(也在目标计算机的hosts文件中)使用了一个主机名集 computerName 设置为 -dest: 参数。NTlm试图将此主机名视为用户名的域部分(例如 hostname\userName )将此更改为IP地址或真实机器名解决了此问题。

        6
  •  0
  •   Nikolay Kostov    8 年前

    我以前没有此类错误,但在Visual Studio 2015更新3中,当创建新的ASP.NET核心应用程序时,默认的发布配置文件不起作用。

    我确实找到了解决办法。对于我来说

    <AuthType>NTLM</AuthType>
    

    排队 .pubxml 文件修复了问题。