我尝试将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
这是错误:
致命:请求远程代理网址“http://backup-09/MSDEPLOYAGENTSERVICE” 失败。
致命:远程服务器返回错误:(401)未经授权。 致命数:1
任何人都可以帮助我吗?
我现在甚至为所有服务器设置了一个域控制器...仍然存在相同的问题,无论我是以域控制器身份登录,还是提供本地帐户,所有变体都会触发401
答案 0 :(得分:5)
请注意,Web Deploy 2.0(甚至刷新)中存在一个错误,该错误不允许管理员组内的用户进行身份验证。只有域管理员和管理员帐户本身才能对Web部署进行身份验证。请参阅以下页面上的ERROR_USER_NOT_ADMIN错误代码:http://learn.iis.net/page.aspx/1023/web-deploy-error-codes/
答案 1 :(得分:3)
默认情况下,Msdeploy似乎使用NTLM身份验证,即使存在userName和密码也是如此。要启用“userName”和“password”的正确处理,请将以下内容附加到相关源:或dest:parameters:“,authType = basic”
答案 2 :(得分:3)
我收到此错误是因为启用了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
答案 3 :(得分:0)
这是一个非常古老的问题,但我可能已经找到了答案。
我收到401 Unauthorized错误消息,但仍然可以使用MSDeploy调用中指定的帐户登录,如问题中所述。
在我的情况下,通过在部署的计算机上提供部署帐户管理员权限来解决问题。
(我看到你使用的是一个名为Administrator的帐户,所以这可能不是你的情况 - 但我有相同的症状,所以想要发帖)。
答案 4 :(得分:0)
我刚刚遇到过401和ERROR_USER_NOT_ADMIN。在我的情况下,问题是我使用主机文件中设置的主机名(也在目标计算机上的主机文件中)设置computerName
参数-dest:
。 NTLM试图将此主机名视为用户名的域名部分(例如hostname\userName
)。将其更改为IP地址或实际机器名称可解决问题。
答案 5 :(得分:0)
之前我没有遇到此类错误,但在Visual Studio 2015 Update 3中创建新的ASP.NET Core应用程序时,默认发布配置文件不起作用。
我确实找到了解决方案。为我添加
<AuthType>NTLM</AuthType>
.pubxml
文件中的行解决了问题。