3

我正在尝试让 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 部署代理服务有什么区别?提前致谢!

4

1 回答 1

2

据我到目前为止发现,差异是:

  • WMSVC 与 IIS 紧密绑定,而远程代理似乎没有

  • WMSVC 用户可以是 windows 或 IIS 用户,您可以通过 IIS 管理器委派权限,以便他们可以在其他安全帐户下运行某些任务等。您还可以控制允许他们执行操作的路径。

  • 远程代理用户只能在机器上他们自己帐户的上下文中执行任务:您可以通过 Windows 安全机制直接控制他们可以做什么。

于 2011-07-06T16:04:22.893 回答