2

私の目標は、リモートサーバーからWebサイト名のリストを取得することです。しかし、私は例外を取得しています:

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によってどのポートが使用されているかということです。または、ファイアウォールをオフにせずにWebサイト名を取得する他の方法はありますか?

4

1 に答える 1

3

LDAPプロトコルはTCPを使用していると思いますか?非SSLの場合はポート389、SSLの場合は636にする必要があります

于 2011-12-19T16:04:08.000 に答える