0
Ich versuche, die IP einer Website, die auf Server 2003 ausgeführt wird, zu ändern. Wenn ich Folgendes ausführe Code, die Site-Bindung selbst wird geändert, aber es gibt andere Host-Header-Werte, die geändert werden müssen. Wie ändere ich diese?Verwenden von DirectoryEntry ("IIS: // Localhost/W3SVC") zum Ändern der IP-Adresse mit mehreren Hostheadereinträgen
protected static void ChangeServerIP(string old_ip, string new_ip)
{
int siteChangedCount = 0;
DirectoryEntry entry = new DirectoryEntry("IIS://LocalHost/W3SVC");
if (entry != null)
{
foreach (DirectoryEntry site in entry.Children)
{
if (site.SchemaClassName == "IIsWebServer")
{
Console.WriteLine("Server Binding: " + site.Properties["ServerBindings"][0].ToString());
if (site.Properties["ServerBindings"][0].ToString().Contains(old_ip))
{
string ServerComment = site.Properties["ServerComment"].Value.ToString();
Console.WriteLine("Changing " + ServerComment + "'s IP address from " + old_ip + " to " + new_ip);
site.Properties["ServerBindings"].Value = site.Properties["ServerBindings"][0].ToString().Replace(old_ip, new_ip);
site.CommitChanges();
siteChangedCount++;
Console.WriteLine("New IP address bound to site: " + ServerComment + " IP: " + site.Properties["ServerBindings"].Value.ToString());
}
}
}
}
}
Ich gebe das eine Chance. –
Sie Sir, sind ein Genie! Vielen Dank! –