2010-04-23 43 views
2

我目前正在升级使用IISVdir工具创建/修改/更新应用程序和虚拟目录并将它们替换为IIS7的AppCmd的旧版II6自动化脚本。如何在IIS7 AppCmd工具中使用IIS6样式元数据库路径?

IIS6中的“IISVDir”命令引用路径来自元数据库,例如/W3SVC/1/ROOT/MyApp - 其中1是“Default Web Site”的ID。该命令实际上并不要求站点的显示名称进行更改。

这很好,因为在不同的语言操作系统上,“默认网站”的网站名称可以命名为“既定のWebサイト”或任何其他用途。但是,如果AppCmd只能通过其名称引用“默认网站”,而不是与语言无关的标识符,则这种灵活性会丢失。

那么,我怎样才能脚本AppCmd引用网站,vdirs和应用程序使用语言中立标识符引用“默认应用程序网站”?

也许我需要从头开始创建自己的站点,并将其命名为其他特定的站点,并停止使用“默认网站”作为根目录?

Example of it in Japanese

(披露:我只有一个IIS7英语机器,我目前的工作,但我有测试我的老段子都IIS6 - 英语和IIS6日机 - 也许这真的是只是“默认网站”仍然在IIS7日语上?)

回答

3

APPCMD工具只出现在网站名称(主要)上。我问在服务器故障类似的问题而回究竟同一个问题:

How do I reference a site by ID using IIS7 APPCMD? (ServerFault.com)

如果你想开始与网站的ID工作,那么你需要做编程,为例如:

int iisNumber = 1; // The default website 
using (ServerManager serverManager = new ServerManager()) 
{ 
    var site = serverManager.Sites 
     .Where(s => s.Id == iisNumber) 
     .SingleOrDefault(); 

    if(site != null) 
    { 
    site.Stop(); 

    // Do stuff to site... 

    site.Start(); 
    } 
    serverManager.CommitChanges(); 
} 
+0

谢谢,我可能会将其构建到一个小的控制台应用程序中,只需在给定的站点id参数中获取该站点的名称即可。 (瘸!) – 2010-04-25 18:18:05

相关问题