IIS7新增了一個站點管理工具appcmd,可以使用該工具來配置和查詢 Web 服務(wù)器上的對象,并以文本或 XML 格式返回輸出。使用該工具,可實現(xiàn)如下IIS站點控制:
創(chuàng)建、配置和刪除站點、應(yīng)用程序、應(yīng)用程序池和虛擬目錄。
停止和啟動站點。
啟動、停止和回收應(yīng)用程序池。
查看有關(guān)在 Web 服務(wù)器上運行的工作進(jìn)程和請求的信息。
一列表形式顯示IIS和ASP.NET的配置信息,并支持對IIS和ASP.NET的配置信息進(jìn)行修改。
appcmd.exe工具所在路徑 C:\windows\sytstem32\inetsrv\appcmd.exe,它可以實現(xiàn)IIS站點全部管理功能;所以可以利用此命令,配置winrm(遠(yuǎn)程管理服務(wù)),可以實現(xiàn)遠(yuǎn)程自動化控制IIS。
appcmd.exe使用方法
1、appcmd提供一組操作IIS操作對象,如下表:
對象名稱 | 描述 |
site | 管理虛擬網(wǎng)站 |
app | 管理應(yīng)用程序 |
vdir | 管理虛擬目錄 |
apppool | 管理應(yīng)用程序池 |
config | 掛歷通用配置文件 |
wp | 掛歷工作進(jìn)程 |
request | 管理http請求 |
module | 管理服務(wù)器模塊 |
backup | 管理服務(wù)器配置備份 |
trace | 管理失效請求跟蹤日志 |
2、appcmd.exe工具支持的命令:
add
clear
configure
delete
inspect
install
list
lock
migrate
recycle
reset
restore
search
set
start
stop
uninstall
unlock
用例
命令總是位于操作對象之前,而屬性總是位于操作對象之后,這樣就可以通過創(chuàng)建一個類似于一條語句的結(jié)構(gòu),在這個結(jié)構(gòu)中,appcmd.exe通知對象做某事。
一、例如對程序池操作
1、列出一個對象所有實例
appcmd.exe list app
2、列出獨一無二的對象實例
appcmd.exe list app "Default Web Site/"
3、列出滿足一定準(zhǔn)則的對象實例
appcmd.exe list app /apppool.name:"defaultapppool"
4、列出對象的詳細(xì)信息
appcmd.exe list app "default web site/"/text:*
5.列出所有XXX應(yīng)用程序池的應(yīng)用程序
appcmd.exe list app /text:/apppool.name:XXX
6、列出網(wǎng)站的配置信息
appcmd.exe list site "default web site "/config
7、更換應(yīng)用程序池
appcmd.exe set app "default web site/" /applicationpool:"XXX"
8、添加新的應(yīng)用程序池
appcmd.exe add apppool /name:"XXX"
9、刪除應(yīng)用程序池
appcmd.exe delete apppool /apppool.name:"XXX"
10、列出所有的應(yīng)用程序池的詳細(xì)信息
appcmd.exe list apppool
11、查詢所有應(yīng)用程序池狀態(tài)為started的
appcmd.exe list apppools /state:started
12、關(guān)閉指定應(yīng)用程序池
appcmd.exe stop appPool /appPool.name:"XXX"
13、開啟指定應(yīng)用程序池
appcmd.exe start apppool /apppool.name:"XXX"
二、對請求的操作
監(jiān)視當(dāng)前的請求
appcmd.exe list request
request對象可以使用屬性來找到特定的信息,通過使用屬性,可以返回某個運行時間(毫秒)超過預(yù)設(shè)值的網(wǎng)站、應(yīng)用程序池、工作進(jìn)程、URL,以及請求的信息。request對象所使用的屬性包括:
1、基于網(wǎng)站ID的請求
appcmd.exe list request /site.id:1
2、基于應(yīng)用程序池的請求
appcmd.exe list request /apppool.exe:DefaultAppPool
3、基于工作進(jìn)程的請求
appcmd.exe list request /wp.name:"1044"
4、基于網(wǎng)站名稱的請求
appcmd.exe list request /site.name:"Default web Site"
5、基于進(jìn)程運行時間的請求
appcmd.exe list request /elapsed:"1000"
三、站點備份與恢復(fù)
1、備份站點:
appcmd.exe add backup backupname
2、列出備份:
appcmd.exe list backup
3、恢復(fù)備份
在恢復(fù)一個備份時,IIS停止運行,并且重寫服務(wù)器的狀態(tài)。一旦配置文件被重寫,IIS隨即重新啟動。如果不希望IIS停止運行并重新啟動,那么可以是使用/stop:false。這樣,就可以在合適的時間手動停止IIS運行,并手動重新啟動IIS
appcmd.exe restore backup /back.name:"XXX" /stop:false
appcmd.exe restore backup /backup.name:"XXX"
4、刪除備份
appcmd.exe relete backup XXX
四、列出服務(wù)器的配置信息
1、列出服務(wù)器的整體配置信息
appcmd.exe list config
2、列出默認(rèn)Web網(wǎng)站的配置
appcmd.exe list config "Default Web Site/"
3、當(dāng)需要顯示默認(rèn)web網(wǎng)站的配置內(nèi)容時,為了減少顯示內(nèi)容,可以執(zhí)行
appcmd.exe list config "Defaul Web Site/" /section:system.net/settings
4、獲取所有可用節(jié)點
appcmd.exe list config -section:?
五、編輯配置節(jié)點信息
1、啟用全局IPv6
appcmd.exe set config /section:system.net/settings -ipv6.enabled:"true"
2、在全局配置中啟用了IPv6,現(xiàn)在要在默認(rèn)的web中引用IPv6
appcmd.exe set config "http://localhost" /section:system.net/settings -ipv6.enabe:"false"
3、列出節(jié)點集合
appcmd.exe list config /section:httpErrors
4、編輯節(jié)點集合
例如把401錯誤頁面有"401。htm"修改為"defaulterror.htm",通過使用加號(+)或者一個減號(-)添加 活刪除元素,刪除503狀態(tài)碼
appcmd.exe set config /section:httpErrors /-[statusCode='503']
appcmd.exe set config /section:httpErrors / [statusCode='401'].path:defaulterror.htm
六、對配置進(jìn)行加解鎖
1、解鎖
appcmd.exe unlock config "default web site" /section:system.web/authentication
2、加鎖
appcmd.exe lock config "default web site" /section:system.web/authentication
七、使用管道傳送XML數(shù)據(jù)
appcmd.exe list apppool /state:started /xml
相關(guān)教程:
IIS7中如何通過新增加的管理工具AppCmd直接修改鎖定節(jié)和解除鎖定屬性等各種參數(shù)[18]
http://21613.oa22.cn
升級點晴MIS系統(tǒng)時提示:HTTP錯誤500.19-Internal Server Error鎖定沖突,如何解決?[9]
http://21614.oa22.cn
如何在 IIS 7.0 配置中使用鎖定&管理工具AppCmd直接修改[5]
http://21615.oa22.cn
該文章在 2023/10/9 15:29:52 編輯過