我正在尝试从命令行使用msdeploy,并且可以使用本地管理员帐户和IIS管理器用户帐户直接针对WMSVC成功进行测试(使用HTTPS,端口8172)。这是命令行:

> msdeploy -verb:dump -source:appHostConfig=MyWebsite,wmsvc=myserver,username=iisuser,password=password -allowuntrusted

因此,wmsvc =指示msdeploy使用https://myserver:8172/msdeploy.axd。但是,因为目标主机防火墙不允许端口8172,所以我真的很想在端口80上使用Web部署代理服务。但是,当我将wmsvc更改为computerName时,它会以401响应:
> msdeploy -verb:dump -source:appHostConfig=MyWebsite,computername=myserver,username=myserver\localadmin,password=password

其中computername =指示msdeploy使用http://myserver/MSDEPLOYAGENTSERVICE。在浏览器中,该URL提示输入用户名/密码,并返回空白页(如果经过身份验证),因此它似乎正在正确侦听和进行身份验证。另外,我已经为NETWORK SERVICE的网站根目录添加了完整权限。

与标准WMSVC相比,使用Web部署代理服务有什么区别?提前致谢!

最佳答案

到目前为止,我发现的区别是:

  • WMSVC与IIS紧密绑定,而远程代理似乎不是
  • WMSVC用户可以是Windows用户,也可以是IIS用户,您可以通过IIS管理器委派权限,以便他们可以在其他安全帐户下运行某些任务,等等。您还可以控制允许他们在其中执行操作的路径。
  • 远程代理用户只能在自己的计算机上的帐户范围内执行任务:您可以通过Windows安全机制来控制他们可以直接执行的操作。
  • 10-07 21:38