连接到远程 2008 服务器上的 IIS 元数据库

Posted

技术标签:

【中文标题】连接到远程 2008 服务器上的 IIS 元数据库【英文标题】:Connect to IIS metabase on a remote 2008 server 【发布时间】:2010-02-11 16:31:50 【问题描述】:

我编写了一些代码来检查 iis 元数据库以查看安装了哪些站点以及它们的虚拟目录保存在哪里。这段代码在服务器本地运行时运行良好。

我正在尝试扩展它以使其远程工作。我正在努力让它进行身份验证的事情。我目前正在使用LogonUser api,但这总是在登录时返回 false

我知道我拥有的凭据很好 我和服务器之间没有防火墙 如果我在没有LogonUser API 调用和命令行用户 runas 的情况下运行应用程序,我会收到错误:COMException (0x80005000)

任何想法都将不胜感激。

【问题讨论】:

你在使用 WMI,System.DirectoryServices 吗? @Kev,是的,我正在使用 WMI 和目录服务。 【参考方案1】:

通常,如果您在远程服务器上执行程序化管理,您会将凭据传递给 API。例如,如果您使用的是System.DirectoryServices,那么您会这样做:

string server = "MyHost";
string username = "bob";
string password = "bob123$";
string path = "IIS://" + server + "/W3SVC/1";

DirectoryEntry de = new DirectoryEntry(path, username, password);

【讨论】:

我也试过了,但没有成功。我厌倦了usernameservername\username 的用户名。服务器不在域上会有什么不同吗? @ilivewithian - 我在一个不在我的开发 PC 域中的服务器上尝试过。您的远程用户帐户是否具有正确的权限和权限? 我使用的是本地管理员用户,所以它应该有正确的权限。我设法使用 LogonUser api 登录。我希望通过模仿来处理它会有所帮助,但我得到了同样的错误。我猜服务器 2008 中肯定还有其他东西被锁定,我还没有找到。

以上是关于连接到远程 2008 服务器上的 IIS 元数据库的主要内容,如果未能解决你的问题,请参考以下文章

无法连接到运行 IIS 的服务器上的 Localhost

远程共享上的IIS6虚拟目录500错误

在IIS7中通过PHP连接到SQL SERVER 2008(使用Windows身份验证)?

无法连接到远程服务器 - s-s-rS 2008 - webservice

无法连接到远程服务器(ftp 在开发中有效,但在生产中无效)

无法将 C# 应用程序连接到 MSSQL