私の目標は、リモートサーバーから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サイト名を取得する他の方法はありますか?