Revision: 54648
Updated Code
at January 6, 2012 01:24 by jsturtevant
Updated Code
static void CreateSite(string metabasePath, string siteID, string siteName, string physicalPath, string poolname) { // metabasePath is of the form "IIS://<servername>/<service>" // for example "IIS://localhost/W3SVC" // siteID is of the form "<number>", for example "555" // siteName is of the form "<name>", for example, "My New Site" // physicalPath is of the form "<drive>:\<path>", for example, "C:\Inetpub\Wwwroot" Console.WriteLine("\nCreating site {0}/{1}, mapping the Root application to {2}:", metabasePath, siteID, physicalPath); try { DirectoryEntry service = new DirectoryEntry(metabasePath); string className = service.SchemaClassName.ToString(); if (className.EndsWith("Service")) { DirectoryEntries sites = service.Children; DirectoryEntry newSite = sites.Add(siteID, (className.Replace("Service", "Server"))); newSite.Properties["ServerComment"][0] = siteName; newSite.Properties["ServerBindings"].Value = ":84:"; newSite.Properties["DefaultDoc"].Value = "loginpage.aspx"; newSite.CommitChanges(); DirectoryEntry newRoot; newRoot = newSite.Children.Add("Root", "IIsWebVirtualDir"); newRoot.Properties["Path"][0] = physicalPath; newRoot.Properties["AppFriendlyName"][0] = "websiteName"; newRoot.Properties["AccessScript"][0] = true; newRoot.Properties["AccessExecute"][0] = true; newRoot.Properties["AppPoolId"].Value = poolname; newRoot.Invoke("AppCreate", 1); newRoot.CommitChanges(); //Start site newSite.Invoke("Start"); Console.WriteLine(" Done. Your site will not start until you set the ServerBindings or SecureBindings property."); } else Console.WriteLine(" Failed. A site can only be created in a service node."); } catch (Exception ex) { Console.WriteLine("Failed in CreateSite with the following exception: \n{0}", ex.Message); } }
Revision: 54647
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 6, 2012 01:23 by jsturtevant
Initial Code
static void CreateSite(string metabasePath, string siteID, string siteName, string physicalPath, string poolname) { // metabasePath is of the form "IIS://<servername>/<service>" // for example "IIS://localhost/W3SVC" // siteID is of the form "<number>", for example "555" // siteName is of the form "<name>", for example, "My New Site" // physicalPath is of the form "<drive>:\<path>", for example, "C:\Inetpub\Wwwroot" Console.WriteLine("\nCreating site {0}/{1}, mapping the Root application to {2}:", metabasePath, siteID, physicalPath); try { DirectoryEntry service = new DirectoryEntry(metabasePath); string className = service.SchemaClassName.ToString(); if (className.EndsWith("Service")) { DirectoryEntries sites = service.Children; DirectoryEntry newSite = sites.Add(siteID, (className.Replace("Service", "Server"))); newSite.Properties["ServerComment"][0] = siteName; newSite.Properties["ServerBindings"].Value = ":84:"; newSite.Properties["DefaultDoc"].Value = "loginpage.aspx"; newSite.CommitChanges(); DirectoryEntry newRoot; newRoot = newSite.Children.Add("Root", "IIsWebVirtualDir"); newRoot.Properties["Path"][0] = physicalPath; newRoot.Properties["AppFriendlyName"][0] = "ClarityWeb1.0"; newRoot.Properties["AccessScript"][0] = true; newRoot.Properties["AccessExecute"][0] = true; newRoot.Properties["AppPoolId"].Value = poolname; newRoot.Invoke("AppCreate", 1); newRoot.CommitChanges(); //Start site newSite.Invoke("Start"); Console.WriteLine(" Done. Your site will not start until you set the ServerBindings or SecureBindings property."); } else Console.WriteLine(" Failed. A site can only be created in a service node."); } catch (Exception ex) { Console.WriteLine("Failed in CreateSite with the following exception: \n{0}", ex.Message); } }
Initial URL
Initial Description
Properties that can be set are found here: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/cde669f1-5714-4159-af95-f334251c8cbd.mspx?mfr=true
Initial Title
Create IIS Website
Initial Tags
c#
Initial Language
C#