401在Windows Server 2016上使用非管理员用户和IIS用户使用WebDeploy发生未经授权的错误

时间:2017-02-02 10:58:04

标签: asp.net iis webdeploy

尝试远程部署时遇到401错误。 来自服务器的事件日志 -

The following information was included with the event: 

IISWMSVC_AUTHORIZATION_SERVER_NOT_ALLOWED


Only Windows Administrators are allowed to connect using a server connection. Other users should use the 'Connect To Site or Application' task to be able to connect.

Process:WMSvc
User=deployer

我正在使用以下脚本来部署

msdeploy.exe -verb:sync -source:package=c:\Jenkins\workspace\Myproject.zip -   dest:auto,wmsvc=[server_ip],usernverame=iis_deployer,password=iis_deployer,authType=basic -setparam:name='IIS Web Application Name',value='Default Web Site\myproject\master' -allowUntrusted 

如果我使用admin用户,它可以正常工作。但是非管理员和IIS用户都失败了。

我试图按照这篇文章设置权限和委托规则 - https://blogs.iis.net/krolson/using-iis-manager-accounts-for-web-deployment-tool-msdeploy-delegation

似乎没什么用。

1 个答案:

答案 0 :(得分:2)

我一直在努力解决这个错误几个小时,我找到了解决方案。在MsDeploy.exe命令行中,您必须在“wmsvc”参数中指定站点名称。例如:

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:package='d:\temp\xxx.zip' -dest:auto,wmsvc="https://192.168.XXX.XXX:8172/msdeploy.axd?site=Test",userName='usr',password='pwd',includeAcls="False" -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension  -AllowUntrusted -retryAttempts=2 -setParam:'IIS Web Application Name'='Test'