Iis WebDeploy(401)未经授权的错误

Iis WebDeploy(401)未经授权的错误,iis,msbuild,msdeploy,webdeploy,Iis,Msbuild,Msdeploy,Webdeploy,当我尝试使用不是目标服务器上本地管理员的windows用户远程部署应用程序时,使用NTLM身份验证的MsDeploy出现未经授权的错误。我在目标框的管理服务委派中设置了设置规则,并选中了所有提供程序。在此规则下,我添加了2个具有“允许”权限的用户(“*”,以及执行远程部署的windows用户)。此外,我已在尝试部署的站点上授予windows用户权限。如果我在目标框中将windows用户设置为本地管理员并设置“允许管理员绕过规则”,则部署将正常工作。如果windows用户不是本地管理员,则会出现以

当我尝试使用不是目标服务器上本地管理员的windows用户远程部署应用程序时,使用NTLM身份验证的MsDeploy出现未经授权的错误。我在目标框的管理服务委派中设置了设置规则,并选中了所有提供程序。在此规则下,我添加了2个具有“允许”权限的用户(“*”,以及执行远程部署的windows用户)。此外,我已在尝试部署的站点上授予windows用户权限。如果我在目标框中将windows用户设置为本地管理员并设置“允许管理员绕过规则”,则部署将正常工作。如果windows用户不是本地管理员,则会出现以下错误:

Web部署任务失败。(无法联系远程代理(URL)。请确保在目标计算机上安装并启动了远程代理服务。)确保站点名称、用户名和密码正确。如果问题未解决,请与本地或服务器管理员联系。错误详细信息:无法联系远程代理(URL)。确保已在目标计算机上安装并启动远程代理服务。收到不受支持的响应。响应头“MSDeploy.response”为“V1”,但应为“V1”。远程服务器返回错误:(401)未经授权。在Microsoft.Web.Publishing.targets中(3588,5)


不确定确切的原因,但也许能帮你找到路

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 (如果我没记错的话)正确调用处理程序。

如果您将委派配置为“允许管理员绕过规则”,并且msdeploy命令成功,那么您将通过WMSvc,它将允许您通过。否则,从响应来看,WMSvc似乎拒绝了您,而您又回到了WebDeloy代理

将以下注册表值设置/添加到WMSvc注册表项:

reg添加HKLM\Software\Microsoft\WebManagement\Server/v WindowsAuthenticationEnabled/t reg\u DWORD/d 1

回收WMSvc:

净停止wmsvc和净启动wmsvc


再试一次。如果没有成功,可以发布msdeploy命令行

作为构建过程的一部分,我们一直在部署一台机器。由于没有明显的原因,部署停止工作,我们无法再远程访问任何管理共享(C$、ADMIN$等)。我们找到了管理共享的修复程序,该程序还修复了部署问题

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


在我们这样做之后,msdeploy突然又开始工作了。我认为msdeploy根本没有使用管理共享。我甚至不确定这两者有什么关系,但我想我会把它扔出去,以防它解决了其他人的问题。

这占用了我太多的时间。我已经让Web Deploy为我的其他网站工作了。我决定向我的服务器添加一个新网站,并尝试将其部署到服务器上(但由于过度频繁的复制/粘贴错误,意外地留下了相同的“站点/应用程序”名称)。发布成功了,但当我意识到我发布到了错误的站点(而不是新站点)时,我更改了站点名称并尝试重新部署,但我不断收到此错误。我什么都试过了。最后,我刚刚完全关闭了VisualStudio2010实例。重新打开它,再次尝试发布,它成功了

当有疑问时,问问自己,“您是否尝试过关闭并再次打开它?”

我意识到这个建议不会帮助所有人解决这个模棱两可的错误——只是选择了几个。

如果您的用户是管理员,但您仍然可以

错误\u用户\u不是\u管理员

确保您使用的是完全限定的用户名

MyMachineName\MyWebDeployUser


我的问题是网络服务是Web部署代理服务中的登录帐户,而it帐户没有足够的权限更改或读取IIS文件

要解决问题,只需执行以下步骤:

打开服务面板(Services.msc)
查找Web部署代理服务并 双击打开Web部署代理服务属性。。。
在“登录”选项卡上,将“以管理员身份登录”更改为管理员帐户…

昨天我可以很好地进行部署,今天出现了完全相同的错误消息。经过一两个小时的故障排除,我最终从我的用户名中删除了这个域。在它之前是DOMAIN\username,我把它改成了[username],lo'和behol