2
我的目標是從遠程服務器獲取網站名稱列表。但我得到的例外:DirectoryEntry使用哪個端口?
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使用哪個端口? 還是有沒有其他方式來獲取網站名稱,而不關閉防火牆?
它將使用(廣泛)端口範圍。如果您需要將其強制到特定端口或更小範圍,請查看[這裏](http://support.microsoft.com/kb/154596)。如果我沒有弄錯,你還需要UDP 389。 – vcsjones 2011-12-19 15:29:52