2010-04-23 38 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

相關問題