IIS服務器配置文件路徑及相關說明

本文的性質爲“編著”。

“圖形化網站管理者”請留步。

 

問題:當主機上的IIS服務由於各種原因無法打開時,無法看到當前系統內已經部署了哪些網站,以及其對應的目錄等信息。

爲解決這一問題,本文通過查看IIS服務器的配置文件來獲取系統內已部署網站的信息。

 

可能的“誤導”預警:配置文件的信息與IIS的版本有關係,但本文僅爲了解決問題,將操作系統與IIS版本混在了一起。

 

對windows server 2003來說,IIS(版本6.0)配置文件全路徑爲:

%windir%\windows\system32\inetsrv\MetaBase.xml;

在MetaBase.xml文件內,<IIsWebServer>節點大概(這裏用大概,是因爲作者也沒有深究[攤手])描述了IIS的“網站”下面的具體網站節點(ServerComment屬性表明了節點的文本);在每個<IIsWebServer>後面,會跟着有<IIswebVirtualDir>節點,這裏面描述了對應的網站在本地的路徑等信息(Path屬性裏面包含了網站“主目錄“的“本地路徑”)。

 

對windows server 2008來說,IIS(版本7.0.0.0)配置文件全路徑爲:

%windir%\windows\system32\inetsrv\config\applicationHost.config;

在applicationHost.config文件內,<sites>節點下包含了IIS的“網站”下面的具體網站節點(每一個<site>代表了一個網站節點),在每一個<site>內,其name屬性描述了IIS網站節點的顯示文本;<site>節點的孫節點<virtualDirectory>的physicalPath屬性描述了對應網站在本地驅動器的路徑信息。

 

對windows7來說,IIS(版本7.0.0.0)配置文件全路徑以及說明,與上面的windows server 2008相同。

 

對windows xp來說,IIS(版本5.1)配置文件全路徑爲:

%windir%\windows\system32\inetsrv\MetaBase.bin;

由於MetaBase.bin內保存着二進制的數據,很難查看。作者當前沒有深究,但是大概使用%windir%\Inetpub\AdminScripts\findweb.vbs這個腳本能夠獲取到部署的網站的信息。另據說%windir%\Inetpub\AdminScripts下面的腳本都很好很強大……

 

最後,在IIS7中,使用%windir%\windows\system32\inetsrv\AppCmd.exe,在控制檯利用“appcmd list site”命令,能夠方便的列出當前部署的網站簡要信息。

 

參考:

IIS7.0 Appcmd 命令詳解:http://www.cnblogs.com/NatureSex/archive/2011/11/02/2233253.html

Adsutil.vbs腳本的基本用法:http://www.wodernet.com/4/401/20130219/562.html

MetabaseStructure:https://msdn.microsoft.com/en-us/library/ms524661(v=vs.90).aspx

將更改寫入到 MetaBase.xml 中:http://doc.51windows.net/iismmc/?url=/iismmc/htm/mb_config_writechanges.htm

XP系統裏找不到metabase.xml文件:http://bbs.csdn.net/topics/320268061

發佈了40 篇原創文章 · 獲贊 9 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章