2

我的目标是从远程服务器获取网站名称列表。但我得到了例外:

RPC 服务器不可用。

这是代码:

    public List<string> GetWebSites(string serverIP)
    {
        List<string> names = new List<string>();
        DirectoryEntry Services = new DirectoryEntry(string.Format("IIS://{0}/W3SVC", serverIP));
        Services.Username = "user name";
        Services.Password = "password";
        IEnumerator ie = Services.Children.GetEnumerator();
        DirectoryEntry Server = null;

        while (ie.MoveNext())
        {
            Server = (DirectoryEntry)ie.Current;
            if (Server.SchemaClassName == "IIsWebServer")
            {
                names.Add(Server.Properties["ServerComment"][0].ToString());
            }
        }

        return names;
    }

当机器上的防火墙关闭时,这工作正常。

我需要知道的是,DirectoryEntry 使用了哪些端口?或者有没有其他方法可以在不关闭防火墙的情况下获取网站名称?

4

1 回答 1

3

我相信 LDAP 协议使用 TCP 不?对于非 SSL 应该是端口 389,对于 SSL 应该是 636

于 2011-12-19T16:04:08.000 回答