自动创建IIS 6.0网站

时间:2009-12-04 23:01:08

标签: asp.net iis api web

我们有一个Web应用程序门户,它使用自己的IIS网站托管多个应用程序。因此,每当我们采用另一台机器来运行我们的代码时,无论是开发人员工作站还是服务器,我们都必须手动为每个应用程序创建所有网站(当然,列表会不断增长)。是否有API调用来创建IIS网站,以便我可以将所有必要的信息存储在数据库表中,然后编写一个winforms程序来检查表,并自动为每个记录创建一个IIS网站?

6 个答案:

答案 0 :(得分:1)

当IIS安装到服务器上时,也安装了许多脚本。 要查看的是IISweb.vbs,因为这使您可以从命令行创建网站。它通常位于%Windows%\ System32目录中,您可以使用Cscript从命令提示符运行它iisweb.vbs sitename / d hostheader

如果您需要在您的网站上设置更多参数,那么有几种方法可以执行此操作,使用adsutil.vbs实用程序脚本或创建虚拟网站,将设置导出到文件(将配置保存到文件)然后当您需要创建一个新网站时,让您的程序编辑设置,然后将配置导入为新网站。

寻找其中一些内容的好地方在IIS 6.0 Administration guide

显然要这样做,您需要在创建新网站的服务器上拥有适当的权限

答案 1 :(得分:1)

另一个有用的脚本是C:\ Inetpub \ AdminScripts中的adsutil.vbs

您使用的是哪个版本的IIS?对于IIS 6: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/d3df4bc9-0954-459a-b5e6-7a8bc462960c.mspx?mfr=true

答案 2 :(得分:1)

您可以将SDC Tasks Library用于此目的。这是一个小manual

答案 3 :(得分:1)

如果您想在WinForms / Console应用程序中执行此操作,那么我强烈建议您查看System.DirectoryServices命名空间。

这里有一些很好的文档:

  

Using System.DirectoryServices to Configure IIS (MSDN)

例如,要创建网站和虚拟目录:

  

Creating Sites and Virtual Directories Using System.DirectoryServices (MSDN)

System.DirectoryServices命名空间是各种IIS管理脚本使用的ADSI API的托管包装。

有关您将遇到的各种配置数据库属性的更多信息,我建议使用此参考:

  

IIS Metabase Properties (MSDN)

如果您迁移到IIS7,我建议您查看Microsoft.Web.Administration命名空间和APPCMD工具。

答案 4 :(得分:1)

我一直在寻找同样的东西,我找到了使用C#和Microsoft.Web.Administration API在iis7中创建网站的示例代码。在Visual Studio项目中添加对C:\ Windows \ System32 \ InetServ \ Microsoft.Web.Administration.dll的引用并运行代码。

http://bloggingabout.net/blogs/dennis/archive/2008/05/16/programmatically-creating-an-iis7-site.aspx

答案 5 :(得分:0)

您可以为您的网站创建安装程序,并手动或批量运行此安装程序。要创建安装程序,您可以使用WiX link text或标准Visual Studio安装项目。 Wix更强大,但最简单的方法是创建Visual Studio安装项目。