我正在尝试使用ServerManager.OpenRemote(来自Microsoft.Web.Administration),但无法找到有关如何从当前用户提供不同凭据的文档。我尝试了SimpleImpersonation(来自How do you do Impersonation in .NET?),它给了我同样的错误:
System.UnauthorizedAccessException - 由于以下错误,从机器[...]检索具有CLSID {2B72133B-3F5B-4602-8952-803546CE3344}的远程组件的COM类工厂失败:80070005 [...]。“
远程计算机上的防火墙已关闭。 UAC已禁用。
答案 0 :(得分:5)
您必须启用远程服务器以进行远程配置。 Microsoft.Web.Administration使用AHADMIN DCOM服务,因此应该打开以进行远程访问。
首先,确保您可以更改AHADMIN属性: https://serverfault.com/questions/242714/how-can-i-enable-ahadmin-properties
然后,请按照以下步骤操作或使用提供的脚本: http://mvolo.com/connecting-to-iis-70-configuration-remotely-with-microsoftwebadministration/
另外,使用dcomcnfg检查您是否拥有AHADMIN的远程访问权限。了解http://support.microsoft.com/kb/176799和http://help.eprint.net/dcomconfig.htm
的方式