使用远程计算机的 IIS 用户自动部署

Auto Deploy with IIS User from Remote Computer

我已经在目标服务器上设置了 Web 部署,我可以验证这一点,因为我已经在 Visual Studio 中创建了一个发布配置文件,当我使用我的凭据时它 validates/works。现在我想用一个 IIS 管理器用户来设置它,这样我就可以共享这些凭据而不是管理多个帐户。我创建了一个 IIS 管理器用户,授予它访问我发布的站点的权限,并尝试验证发布配置文件是否仍然有效。失败了。

Connected to 'srvr' using the Web Deployment Agent Service, but could not authorize. Make sure you are an administrator on 'srvr'. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_NOT_ADMIN.

The remote server returned an error: (401) Unauthorized.

查看服务器管理器中的安全日志,我可以看到它尝试(但失败)将 IIS 管理器用户验证为帐户。

为什么 srvr 正在寻找 IIS 管理器用户的帐户?如何设置它以使用其他帐户?我是否需要在管理服务委派下做一些特别的事情?如果是这样,什么? (尽管声称包括如何设置非管理员或 IIS 管理器用户,但我发现的所有说明似乎都设置了我已经得到的内容。)

Web 部署代理服务需要管理员访问权限。尝试将目标计算机更新为 https://svr:8172/msdeploy.axd 以使用 Web 管理服务处理程序。有关各种部署方法的更多信息,请查看 my blog post or the Microsoft documentation

请记住,如果您使用的是 IIS 用户,则需要确保已配置授权规则,以便 contentPath 提供程序能够以正确的权限写入网站目录。

老实说,我建议创建本地 Windows 用户并将其配置为非管理员部署。这里有关于如何操作的文档:Configuring a Site for Delegated Non-Administrator Deployment