2011-01-26 367 views
27

我试图远程部署应用程序时,使用不是本地管理员在目标服务器上的Windows用户从MsDeploy使用NTLM身份验证未经授权的错误。我在目标框上的管理服务委派中设置了规则,并检查了所有提供者。在此规则下,我添加了2个具有允许权限的用户('*',以及正在进行远程部署的Windows用户)。另外,我在我正在尝试部署的网站上授予了Windows用户权限。如果我让Windows用户成为目标框上的本地管理员并设置'允许管理员绕过规则',则部署工作正常。如果Windows用户是不是本地管理员,我得到了以下错误:WebDeploy(401)未经授权的错误

Web deployment task failed.(Remote agent (URL http://xxxxxxxx/MSDEPLOYAGENTSERVICE) could not be contacted. Make sure the remote agent service is installed and started on the target computer.) Make sure the site name, user name, and password are correct. If the issue is not resolved, please contact your local or server administrator. Error details: Remote agent (URL http://xxxxx/MSDEPLOYAGENTSERVICE) could not be contacted. Make sure the remote agent service is installed and started on the target computer. An unsupported response was received. The response header 'MSDeploy.Response' was 'V1' but 'v1' was expected. The remote server returned an error: (401) Unauthorized. in Microsoft.Web.Publishing.targets(3588, 5)

+0

这里的确切问题 – 2011-01-27 18:06:17

+7

对其他人的注意:如果你的错误信息不包括'v1'错误,那么这是一个不同的原因。在我的情况下,这是一个与UAC有关的事情,正如这里描述和修复的那样:http://networkprogramming.wordpress.com/2010/10/29/401-not-authorized-for-msdeploy%E2%80%8F- msdeployagentservice/ – 2011-09-12 20:53:55

+0

修复管理共享的注册表黑客也修复了这个问题,并且似乎是UAC令牌问题。使用此修复程序: https://support.microsoft.com/en-gb/kb/947232 – 2016-10-11 19:04:14

回答

48

如果将代理配置为“允许管理员绕过规则”并且msdeploy命令成功,那么您正在通过WMSvc并且它正在让您通过。否则,从回应看来,WMSvc似乎拒绝了你,并且你正在倒退到Web Deloy代理。

设置/添加下面的REG值WMSVC章重点:

reg add HKLM\Software\Microsoft\WebManagement\Server /v WindowsAuthenticationEnabled /t REG_DWORD /d 1

回收WMSVC:

net stop wmsvc & net start wmsvc

再试一次。如果它不成功,你可以发布你的msdeploy命令行。

3

的确切原因不知道,但也许能够帮助雅找到自己的方式。

WebDeploy使用两个基于远程服务器配置的入口点,即它是否运行IIS6或IIS7。

IIS 7使用IIS部署处理程序,它由Web管理服务管理,并允许msdeploy直接提供IIS。所有“管理服务委派”等设置都与此设置有关。

但是,IIS 6没有Web管理服务,因此处理程序不起作用。对于IIS6目标,使用名为MS 部署代理服务的服务。

奇怪的是,您的设置建议您使用IIS 7,因为您可以设置分配设置等。但是,该URL“/ MSDEPLOYAGENTSERVICE”表明您的计算机正在尝试使用服务...就好像它认为它的IIS 6一样。该服务需要管理员访问,这就是为什么你会得到这个错误。

基于错误,它看起来像你从MSbuild调用它,可能直接从Visual Studio调用它。您可能想要查看您提供的设置并查看是否有任何内容导致此路径和/或服务器选择。

还要确保Web管理服务正在远程机器上运行。

基本上你希望看到它调用不同的URL部署,http:// <> /msdeploy.axd(如果我没记错的话)来正确调用处理程序。

5

我们有一台机器,我们已经部署到作为我们构建过程的一部分。由于不明显的原因,部署停止工作,我们不能再远程访问任何管理共享(C $,ADMIN $等)。我们找到了解决部署问题的管理共享的修复方案。

我们按照此知识库文章中的步骤重新启用管理共享(仍然不知道为什么他们突然停止工作)。

http://support.microsoft.com/kb/947232

后,我们这样做,msdeploy一下子开始还有再次合作。我根本不认为msdeploy完全使用了管理共享。我甚至没有积极关心这两者是相关的,但我认为我会把它扔到那里以防其他人的问题。

2

这让我吃了太多时间。我已经有Web Deploy为我的其他网站工作。我决定添加一个新的网站到我的服务器,并试图部署到它(但由于过度的复制/粘贴错误,意外地留下了相同的“网站/应用程序”的名称)。发布成功了,但是当我意识到我发布到错误的网站(而不是新网站)时,我更改了网站名称并尝试重新部署,但我一直收到此错误。我尝试了所有关于IIS结束的事情。最后,我完全关闭了我的Visual Studio 2010实例。打开它,再次尝试发布,它的工作!

如果有疑问,问问自己:“你试过把它关掉再打开吗?”
我意识到这个建议不会帮助每个人都有这个模棱两可的错误 - 只有少数几个选择。

0

如果你的用户是管理员,但你仍然可以得到

ERROR_USER_IS_NOT_ADMIN

确保您使用的是完全合格的用户名。

MyMachineName\MyWebDeployUser

0

我觉得你的问题是真的单纯......我有同样的问题,你...

其实我的问题是,网络服务是登录帐户在Web部署代理服务和它的帐户还没有足够的权限来改变或读取IIS文件...

解决你的问题只是做以下步骤:

打开服务Painel(Services.msc)中
找到Web部署代理服务和 双击打开Web部署代理服务属性... 在登录选项卡中更改“登录为”一个管理员帐户...

我希望能帮到你

0

昨天我能够部署得很好,今天有这个完全相同的错误信息。经过一两个小时的疑难解答,我最终从我的用户名中删除了域名。在[域名]/[用户名]之前的位置,我将其更改为[用户名],注意,它再次开始工作。我知道这不是一个好的答案,但也许它会帮助其他人跑过去。

4

我终于能够使用NTLM自动构建和部署运行了。我只是想总结一下,如果它对任何人都有帮助的话,那么它将会如何进行。这是与IIS 7.5。

  1. 设置注册表设置,并重新启动Web管理服务(WMSVC):

    REG ADD HKLM \ SOFTWARE \微软\ WebManagement \服务器/ V WindowsAuthenticationEnabled /吨REG_DWORD/d 1

  2. 给用户在网站目录中运行TFS构建服务权限。

  3. 这里是我使用的MSBuild参数。用你的名字替换各种名字。我正在使用DEV和任何CPU。我还需要允许不受信任的证书。

    /M/P:PublishProfile = DEV/P:配置= DEV/P:平台= “任何CPU”/ P:DeployOnBuild =真/ P:AllowUntrustedCertificate =真/ P:的authType = NTLM

  4. 在选择目标网站的IIS管理器中,打开IIS管理器权限并允许用户运行TFS构建服务。

追踪对诊断问题非常有帮助。您可以在IIS管理器中的管理服务委派中启用跟踪。最初我无法在IIS管理器中看到管理服务委派。为了显示,我必须从“添加程序”中“更改”Web部署,以便安装Management Service Delegation。它看起来像是已安装,但我重置下拉列表以安装到我的电脑并完成安装。然后它出现在IIS管理器中。

0

Web部署停止我们昨天使用当前Windows用户的身份(它明确凭据的工作),当安装了我们的域控制器的一个MS15-025MS15-027补丁的运行Windows Server后,工作2003

我们检查了Web Deploy的所有建议,但无法解决HTTP 401.2错误。

现在,Microsoft重新发布了专门用于Windows Server 2003(KB3033395-v2和KB3002657-v2)的两个补丁的修补程序。安装更新的修补程序并引导域控制器后,它立即再次运行。我们甚至不必重新启动Web服务器上的任何服务。

没有指向这个事件日志条目,它只是因为时间关系而变得明显。

0

还有另一种可能性:由于尝试部署Web部署失败次数过多,您的帐户被锁定。重置您的帐户或让您的系统管理员为您做这件事。非常令人沮丧。

相关问题