IIS 7 提供了一個新的命令行工具 Appcmd.exe,可以使用該工具來配置和查詢 Web 服務器上的對象,并以文本或 XML 格式返回輸出。 下面是一些可以使用 Appcmd.exe 完成的任務的示例:
•創建和配置站點、應用程序、應用程序池和虛擬目錄。
•停止和啟動站點。
•啟動、停止和回收應用程序池。
•查看有關在 Web 服務器上運行的工作進程和請求的信息。
Appcmd.exe 為常見的查詢和配置任務提供了一致的命令,從而降低了學習語法的復雜性。 例如,您可以使用 list 命令來搜索有關對象(如應用程序)的信息,也可以使用 add 命令來創建對象(如站點)。
另外,您還可以將命令組合在一起使用,以返回與 Web 服務器上對象相關的更為復雜的數據,或執行更為復雜的任務。 例如,您可以完成類似如下任務的復雜任務:停止所有具有運行時間超過六十秒的請求的站點。
AppCmd.exe工具所在目錄 C:/windows/sytstem32/inetsrv/目錄下
使用命令行管理IIS 7.0時,需要使用IIS7.0提供的全新管理工具AppCmd.exe。AppCmd.exe工具可以完成web服務器的全不管理工作。利用AppCmd.exe工具,既可以通過命令行提示完成掛歷工作,也可以通過腳本完成管理工作。利用AppCmd.exe工具,可以完成以下工作:
1、添加、刪除、修改web網站和應用程序池
2、停止,啟動web網站和應用程序池
3、觀察工作進程和請求信息
4、一列表形式顯示IIS和ASP.NET的配置信息,并支持對IIS和ASP.NET的配置信息進行修改
AppCmd.exe工具提供了一個一直的命令集,利用該命令集,針對受支持的對象類型,可以執行查詢操作并完成一些其他任務,既可以段杜運行這些命令,也可以講命令進行組合并欲行命令組合,從而可以執行復雜的任務,完成復雜的查詢工作,如表:
對象名稱描述
site管理虛擬網站
app管理應用程序
vdir管理虛擬目錄
appool管理應用程序池
config掛歷通用配置文件
wp掛歷工作進程
request管理http請求
module管理服務器模塊
backup管理服務器配置備份
trace管理失效請求跟蹤日志
AppCmd.exe工具支持的命令:
add
clear
configure
delete
inspect
install
list
lock
migrate
recycle
reset
restore
search
set
start
stop
uninstall
unlock
AppCmd命令
溫馨提示:命令總是位于對象之前,而屬性總是位于對象之后,這樣就可以通過創建一個類似于一條語句的結構,在這個結構中,appcmd.exe通知對象做某事。
list列出應用程序池
set配置應用程序池
add添加新應用程序池
delete 刪除應用程序池
start啟動應用程序池
stop停止應用程序池
recycle 回收應用程序池
1、列出一個對象所有實例
appcmd.exe list app
2、列出獨一無二的對象實例
appcmd.exe list app "Default Web Site/"
3、列出滿足一定準則的對象實例
appcmd.exe list app /apppool.name:"defaultapppool"
4、列出對象的詳細信息
appcmd.exe list app "default web site/"/text:*
5.列出所有XXX應用程序池的應用程序
appcmd.exe list app /text:/apppool.name:XXX
6、列出網站的配置信息
appcmd.exe list site "default web site "/config
7、更換應用程序池
appcmd.exe set app "default web site/"/applicationpool:"XXX"
8、添加新的應用程序池
appcmd.exe add apppool /name:"XXX"
9、刪除應用程序池
appcmd.exe delete apppool /apppool.name:"XXX"
10、列出所有的應用程序池的詳細信息
appcmd.exe list apppool
11、查詢所有應用程序池狀態為started的
appcmd.exe list apppools /state:started
12、關閉指定應用程序池
appcmd.exe stop appPool /appPool.name:"XXX"
13、開啟指定應用程序池
appcmd.exe start apppool /apppool.name:"XXX"
14、監視當前的請求
appcmd.exe list request
request對象可以使用屬性來找到特定的信息,通過使用屬性,可以返回摸個運行時間(以毫秒計算)超過預設值的網站、應用程序池、工作進程、URL,以及請求的信息。request對象所使用的屬性包括:
基于網站ID的請求
appcmd.exe list request /site.id:1
基于應用程序池的請求
appcmd.exe list request /apppool.exe:DefaultAppPool
基于工作進程的請求
appcmd.exe list request /wp.name:"1044"
基于網站名稱的請求
appcmd.exe list request /site.name:"Default web Site"
基于進程運行時間的請求
appcmd.exe list request /elapsed:"1000"
15.站點備份與恢復
備份站點:
appcmd.exe add backup backupname
列出備份:
appcmd.exe list backup
恢復備份
在恢復一個備份時,IIS停止運行,并且重寫服務器的狀態。一旦配置文件被重寫,IIS隨即重新啟動。如果不希望IIS停止運行并重新啟動,那么可以是使用/stop:false。這樣,就可以在合適的時間手動停止IIS運行,并手動重新啟動IIS
appcmd.exe restore backup /back.name:"XXX" /stop:false
appcmd.exe restore backup /backup.name:"XXX"
刪除備份
appcmd.exe relete backup XXX
16、列出服務器的整體配置信息
appcmd.exe list config
列出默認Web網站的配置
appcmd.exe list config "Default Web Site/"
當需要顯示默認web網站的配置內容時,為了減少顯示內容,可以執行
appcmd.exe list config "Defaul Web Site/" /section:system.net/settings
獲取所有可用節點
appcmd.exe list config -section:?
17、編輯配置節點信息
eg1: 啟用全局IPv6
appcmd.exe set config /section:system.net/settings -ipv6.enabled:"true"
eg2:在全局配置中啟用了IPv6,現在要在默認的web中引用IPv6
appcmd.exe set config "http://localhost" /section:system.net/settings -ipv6.enabe:"false"
列出節點集合
appcmd.exe list config /section:httpErrors
編輯節點集合
eg:把401錯誤頁面有"401。htm"修改為"defaulterror.htm"
通過使用加號(+)或者一個減號(-)添加 活刪除元素
刪除503狀態碼
appcmd.exe set config /section:httpErrors /-[statusCode='503']
appcmd.exe set config /section:httpErrors / [statusCode='401'].path:defaulterror.htm
18、對配置進行加鎖和解鎖
解鎖:
appcmd.exe unlock config "default web site" /section:system.web/authentication
加鎖:
appcmd.exe lock config "default web site" /section:system.web/authentication
19、使用管道傳送XML數據
可以在appcmd list 中使用/xml修飾符來創建復雜的任務,還可以執行大規模的批處理工作。利用/xml修飾符,可以講一個查詢的結果導出并保存到一個標準XML格式的文件中,從而使其他命令行工具或者shell命令可以使用這個XML文件。例如,為了列出所有已啟用的應用程序池,并將信息保存到一個標準的XML文件中,執行以下命令:
appcmd.exe list apppool /state:started /xml
|
新聞熱點
疑難解答
圖片精選