【发布时间】:2011-07-07 09:22:41
【问题描述】:
我正在尝试让 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 添加了站点根目录的完全权限。
使用 Web 部署代理服务与标准 WMSVC 有什么区别?提前致谢!
【问题讨论】:
-
我应该补充一点,即使在为 401s 启用失败请求跟踪后,我在任何日志中都没有命中代理,但直接点击 wmsvc 时我看到了所有内容。
-
WMSvc 是较新的 IIS 7 方法,它涉及委派权限,以便尝试部署的用户无需在远程计算机上拥有管理员权限(Web 部署代理需要此权限)。