IIS 7 提供了一個新的命令行工具 Appcmd.exe,可使用該工具來配置和查詢 Web 服務器上的對象,並以文本或 XML 格式返回輸出。 下面是一些可使用 Appcmd.exe 完成的任務的示例:
•建立和配置站點、應用程序、應用程序池和虛擬目錄。
•中止和啓動站點。
•啓動、中止和回收應用程序池。
•查看有關在 Web 服務器上運行的工做進程和請求的信息。
Appcmd.exe 爲常見的查詢和配置任務提供了一致的命令,從而下降了學習語法的複雜性。 例如,您可使用 list 命令來搜索有關對象(如應用程序)的信息,也可使用 add 命令來建立對象(如站點)。
另外,您還能夠將命令組合在一塊兒使用,以返回與 Web 服務器上對象相關的更爲複雜的數據,或執行更爲複雜的任務。 例如,您能夠完成相似以下任務的複雜任務:中止全部具備運行時間超過六十秒的請求的站點。
AppCmd.exe工具所在目錄 C:\windows\sytstem32\inetsrv\目錄下web
使用命令行管理IIS 7.0時,須要使用IIS7.0提供的全新管理工具AppCmd.exe。AppCmd.exe工具能夠完成web服務器的全無論理工做。利用AppCmd.exe工具,既能夠經過命令行提示完成掛曆工做,也能夠經過腳本完成管理工做。利用AppCmd.exe工具,能夠完成如下工做:shell
一、添加、刪除、修改web網站和應用程序池windows
二、中止,啓動web網站和應用程序池服務器
三、觀察工做進程和請求信息app
四、一列表形式顯示IIS和ASP.NET的配置信息,並支持對IIS和ASP.NET的配置信息進行修改工具
AppCmd.exe工具提供了一個一直的命令集,利用該命令集,針對受支持的對象類型,能夠執行查詢操做並完成一些其餘任務,既能夠段杜運行這些命令,也能夠講命令進行組合並欲行命令組合,從而能夠執行復雜的任務,完成複雜的查詢工做,如表:學習
對象名稱 描述 site 管理虛擬網站 app 管理應用程序 vdir 管理虛擬目錄 appool 管理應用程序池 config 掛曆通用配置文件 wp 掛曆工做進程 request 管理http請求 module 管理服務器模塊 backup 管理服務器配置備份 trace 管理失效請求跟蹤日誌網站
AppCmd.exe工具支持的命令:spa
add.net
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 回收應用程序池
一、列出一個對象全部實例
appcmd.exe list app
二、列出獨一無二的對象實例
appcmd.exe list app "Default Web Site/"
三、列出知足必定準則的對象實例
appcmd.exe list app /apppool.name:"defaultapppool"
四、列出對象的詳細信息
appcmd.exe list app "default web site/"/text:*
5.列出全部XXX應用程序池的應用程序
appcmd.exe list app /text:/apppool.name:XXX
六、列出網站的配置信息
appcmd.exe list site "default web site "/config
七、更換應用程序池
appcmd.exe set app "default web site/" /applicationpool:"XXX"
八、添加新的應用程序池
appcmd.exe add apppool /name:"XXX"
九、刪除應用程序池
appcmd.exe delete apppool /apppool.name:"XXX"
十、列出全部的應用程序池的詳細信息
appcmd.exe list apppool
十一、查詢全部應用程序池狀態爲started的
appcmd.exe list apppools /state:started
十二、關閉指定應用程序池
appcmd.exe stop appPool /appPool.name:"XXX"
1三、開啓指定應用程序池
appcmd.exe start apppool /apppool.name:"XXX"
1四、監視當前的請求
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
1六、列出服務器的總體配置信息
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:?
1七、編輯配置節點信息
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
1八、對配置進行加鎖和解鎖
解鎖:
appcmd.exe unlock config "default web site" /section:system.web/authentication
加鎖:
appcmd.exe lock config "default web site" /section:system.web/authentication
1九、使用管道傳送XML數據
能夠在appcmd list 中使用/xml修飾符來建立複雜的任務,還能夠執行大規模的批處理工做。利用/xml修飾符,能夠講一個查詢的結果導出並保存到一個標準XML格式的文件中,從而使其餘命令行工具或者shell命令可使用這個XML文件。例如,爲了列出全部已啓用的應用程序池,並將信息保存到一個標準的XML文件中,執行如下命令:
appcmd.exe list apppool /state:started /xml