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 "" /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