標籤:bit 標識符 部分 request 沒有 安裝包 list highlight 尋找
IIS7 Appcmd 命令詳解
廢話不說!雖然有配置介面管理器!但是做安裝包的時候命令建立是必不可少的!最近使用NSIS製作安裝包仔細研究了一下Appcmd的命令,可謂是功能齊全.
上網查了些資料,那些部落格大部分都是轉載的別人的。都是些基本的介紹,很多命令都沒介紹到(不知道是不是我走眼了)。
就連微軟的 技術資產庫 也不詳細:
附地址:http://technet.microsoft.com/zh-cn/library/cc772200(WS.10).aspx(反正我找了一遍!沒找到我要的)
微軟的 技術資產庫 有的我就不介紹了,點開上面的連結自己去看。
(介紹我們能用到的一些命令,目前只包含site 的操作,其他apppool config app vdir 後續有時間在加入)
一:準備工作
APPcmd.exe 位於 C:\Windows\System32\inetsrv 目錄
使用 Cd c:\Windows\System32\inetsrv 切換到該目錄
二:命令操作簡介
IIS 命令列管理工具基本格式:
APPCMD (命令) (物件類型) <標識符> </參數1:值1 ...>
支援的物件類型:
SITE 虛擬網站的管理
APP 管理應用程式
VDIR 管理虛擬目錄
APPPOOL 管理應用程式池
CONFIG 管理常規配置節
WP 管理背景工作處理序
REQUEST 管理 HTTP 要求
MODULE 管理伺服器模組
BACKUP 管理伺服器配置備份
TRACE 使用失敗請求追蹤記錄檔
-----------這個就不解釋很詳細了,懂的人都知道這個IIS的層次。
三:對Site的命令詳解
1.命令介紹
虛擬網站的管理
APPCMD <命令> SITE [標識符] [-參數1:值1 ...] 如: appcmd list site (列出當前存在的網站)
支援的命令:
list 列出虛擬網站
set 配置虛擬網站
add 添加新虛擬網站
delete 刪除虛擬網站
start 啟動虛擬網站
stop 停止虛擬網站
2.詳解
列出虛擬網站
APPCMD list SITE [標識符] [-參數1:值1 ...]
列出電腦上的虛擬網站。此命令可用於使用特定網站的標識符或 url 尋找該網站,或者
基於指定的網站屬性匹配零個或多個網站。
樣本:
appcmd list sites
列出電腦上的所有網站。
appcmd list site "Default Web Site"
尋找網站“Default Web Site”。
appcmd list site http://localhost/app1
尋找與指定的 url 關聯的網站。
appcmd list site /serverAutoStart:false
尋找“serverAutoStart”配置屬性設定為“false”的所有網站。
添加新虛擬網站
APPCMD add SITE [標識符] [-參數1:值1 ...]
使用指定的設定建立新的虛擬網站。至少,必須提供網站名稱和 ID。
支援的參數:
/name (必需) 網站名稱
/id 網站 ID
/bindings “http://domain:port,...”好記格式或“protocol/bindingInformation,...”原始格式的繫結資料行表
/physicalPath
如果指定,將導致為該網站建立包含指向指定路徑的根虛擬目錄的根應用程式。如果忽
略,將建立一個沒有根應用程式的網站,並且該網站在建立根應用程式之前將無法啟動。
樣本:
appcmd add site /name:"My New Site" /id:2 /bindings:http://www.domain.com:80
使用指定的好記綁定建立一個新網站“我的新網站”,以便在連接埠 80 上偵聽對 www.d
omain.com 的 http 請求。
appcmd add site /name:"My New Site" /id:2 /bindings:http://*:81
使用指定的好記綁定建立一個新網站“我的新網站”,以便在連接埠 81 上偵聽對任何域
名的 http 請求。
appcmd add site /name:"My New Site" /id:2 /bindings:http/*:81:
使用指定的 ID 和綁定建立新網站“我的新網站”。建立後,新網站中不包含任何應用
程式。
appcmd add site /name:"My New Site" /id:2 /bindings:http/*:81: /physicalPath:"c
:\inetpub\mynewsite"
使用指定的 ID 和綁定建立新網站“我的新網站”。系統將自動建立根虛擬目錄指向指
定實體路徑的根應用程式。
appcmd add site /name:"My New Site" /bindings:http/*:81:
使用綁定建立新網站“我的新網站”,並自動產生網站 ID。建立後,該新網站不包含
任何應用程式。
配置虛擬網站
APPCMD set SITE [標識符] [-參數1:值1 ...]
允許設定指定虛擬網站的屬性。必須提供準確的網站標識符,並且必須將該標識符解析為現
有網站。
支援的參數:
identifier (必需)
要修改的網站的網站名稱或 url
/site.name
要修改的網站的網站名稱或 url (與標識符相同)
/bindings
“http://domain:port,...”好記格式或“protocol/bindingInformation,...”原始
格式的繫結資料行表
樣本:
appcmd set site "Default Web Site" /serverAutoStart:false /id:100
設定“Default Web Site”網站的“serverAutoStart”和“id”屬性。
這裡對 set 操作附加一些進階操作(重要)
當時用 appcmd set site "Default Web Site" 當時用後其他進階參數
解釋後續補上............
-name 名稱
-id ID標識
-serverAutoStart 是否自動啟動
-bindings.[protocol=‘string‘,bindingInformation=‘string‘].p
-bindings.[protocol=‘string‘,bindingInformation=‘string‘].b
-limits.maxBandwidth
-limits.maxConnections
-limits.connectionTimeout
-logFile.logExtFileFlags
-logFile.customLogPluginClsid
-logFile.logFormat
-logFile.directory
-logFile.period
-logFile.truncateSize
-logFile.localTimeRollover
-logFile.enabled
-traceFailedRequestsLogging.enabled
-traceFailedRequestsLogging.directory
-traceFailedRequestsLogging.maxLogFiles
-traceFailedRequestsLogging.maxLogFileSizeKB
-traceFailedRequestsLogging.customActionsEnabled
-applicationDefaults.path
-applicationDefaults.applicationPool
-applicationDefaults.enabledProtocols
-virtualDirectoryDefaults.path
-virtualDirectoryDefaults.physicalPath 網站的實體路徑
-virtualDirectoryDefaults.userName 實體路徑憑據的賬戶
-virtualDirectoryDefaults.password 實體路徑憑據的密碼
-virtualDirectoryDefaults.logonMethod
-virtualDirectoryDefaults.allowSubDirConfig
-[path=‘string‘].path
-[path=‘string‘].applicationPool
-[path=‘string‘].enabledProtocols
-[path=‘string‘].virtualDirectoryDefaults.path
-[path=‘string‘].virtualDirectoryDefaults.physicalPath
-[path=‘string‘].virtualDirectoryDefaults.userName
-[path=‘string‘].virtualDirectoryDefaults.password
-[path=‘string‘].virtualDirectoryDefaults.logonMethod
-[path=‘string‘].virtualDirectoryDefaults.allowSubDirConfig
-[path=‘string‘].[path=‘string‘].path
-[path=‘string‘].[path=‘string‘].physicalPath
-[path=‘string‘].[path=‘string‘].userName
-[path=‘string‘].[path=‘string‘].password
-[path=‘string‘].[path=‘string‘].logonMethod
-[path=‘string‘].[path=‘string‘].allowSubDirConfig
刪除虛擬網站
APPCMD delete SITE [標識符] [-參數1:值1 ...]
描敘: 從電腦刪除指定的虛擬網站。必須提供準確的網站標識符,並且必須將該標識符解析為現有網站。
支援的參數:
identifier (必需)要刪除的網站的網站名稱或 url
/site.name 要刪除的網站的網站名稱或 url (與標識符相同)
樣本:
appcmd delete site "Default Web Site" 刪除網站“Default Web Site”。
啟動虛擬網站
APPCMD start SITE [標識符] [-參數1:值1 ...]
啟動指定的虛擬網站並啟用該網站,以開始偵聽其所有綁定端點上的新請求。必須提供準確的網站標識符,並且必須將該標識符解析為現有網站。
支援的參數:
identifier (必需)要啟動的網站的網站名稱或 url
/site.name 要啟動的網站的網站名稱或 url (與標識符相同)
樣本:
appcmd start site "Default Web Site"
啟動網站“Default Web Site”。
停止虛擬網站
APPCMD stop SITE [標識符] [-參數1:值1 ...]
停止指定的虛擬網站,阻止在其綁定端點上接收新請求。必須提供準確的網站標識符,並且
必須將該標識符解析為現有網站。
支援的參數:
identifier (必需)要停止的網站的網站名稱或 url
/site.name 要停止的網站的網站名稱或 url (與標識符相同)
樣本:
appcmd stop site "Default Web Site"
停止網站“Default Web Site”。
1 添加應用程式進城池
appcmd.exe add apppool /name:test.com /managedRuntimeVersion:"v4.0" /managedPipelineMode:"Integrated"
2 添加網站,指定網站名,綁定,實體路徑
appcmd.exe add site /name:"test.com" /id:1 /bindings:http/*:81: /physicalpath:"E:\webroot\test.com\Web"
3 指定網站的進城池
appcmd.exe set site /site.name:"test.com" /[path=‘/‘].applicationPool:test.com
4 指定網站的預設文件為index.aspx
appcmd.exe set config "test.com/" /section:defaultDocument /+files.[@start,value=‘index.aspx‘] /commit:"test.com"
5 把特定目錄的指令碼執行許可權關閉
appcmd set config "test.com/Download" /section:handlers /accessPolicy:Read
6匯出一個機器上的所有應用進程池
%windir%/system32/inetsrv/appcmd list apppool /config /xml > c:/apppools.xml
7 匯出1個機器上的所有網站
%windir%/system32/inetsrv/appcmd list site /config /xml > c:/sites.xml
8 匯入所有進程池
%windir%/system32/inetsrv/appcmd add apppool /in < c:/apppools.xml
9 匯入所有網站
%windir%/system32/inetsrv/appcmd add site /in < c:/sites.xml
以下是批處理指令碼
10 給網站檔案授權
ICACLS e:\webroot\test.com\ /inheritance:e /grant:R "IIS AppPool\test.com":R
ICACLS e:\webroot\test.com\* /inheritance:e /grant:R "IIS AppPool\test.com":R
ICACLS e:\webroot\test.com\download /grant:M "IIS AppPool\test.com":R
ICACLS e:\webroot\test.com\download\* /grant:M "IIS AppPool\test.com":R
*******************************************************set Sitename=test.comset SitePath=E:\webroot\test.comset LogPath=G:\logfileset defaultDocument=‘index.aspx‘set Is32BitApp =Falseset BackPort=99set netversion=v4.0set Cache=Cache%windir%\system32\inetsrv\Appcmd add apppool /name:%Sitename% /managedRuntimeVersion:%netversion% /managedPipelineMode:"Integrated" /enable32BitAppOnWin64:False%windir%\system32\inetsrv\Appcmd add site /name:"%Sitename%" /id:100 /bindings:http/*:%BackPort%:,http/*:80:%sitename% /physicalpath:%SitePath% /logfile.directory:%LogPath%%windir%\system32\inetsrv\Appcmd set site /site.name:"%Sitename%" /[path=‘/‘].applicationPool:%Sitename%%windir%\system32\inetsrv\Appcmd set config "%Sitename%/" /section:defaultDocument /+files.[@start,value=%defaultDocument%] /commit:"%Sitename%"ICACLS %SitePath% /inheritance:e /grant:R "IIS AppPool\%SiteName%":RICACLS %SitePath%\* /inheritance:e /grant:R "IIS AppPool\%SiteName%":RICACLS %SitePath%\%Cache% /inheritance:e /grant:R "IIS AppPool\%SiteName%":RICACLS %SitePath%\%Cache% /inheritance:e /grant:R "IIS AppPool\%SiteName%":R水域 2017-04-04 14:44:51set Sitename=test.comset SitePath=E:\webroot\test.comset LogPath=G:\logfileset defaultDocument=‘index.aspx‘set Is32BitApp =Falseset BackPort=99set netversion=v4.0set Cache=Cache%windir%\system32\inetsrv\Appcmd add apppool /name:%Sitename% /managedRuntimeVersion:%netversion% /managedPipelineMode:"Integrated" /enable32BitAppOnWin64:False%windir%\system32\inetsrv\Appcmd add site /name:"%Sitename%" /id:100 /bindings:http/*:%BackPort%:,http/*:80:%sitename% /physicalpath:%SitePath% /logfile.directory:%LogPath%%windir%\system32\inetsrv\Appcmd set site /site.name:"%Sitename%" /[path=‘/‘].applicationPool:%Sitename%%windir%\system32\inetsrv\Appcmd set config "%Sitename%/" /section:defaultDocument /+files.[@start,value=%defaultDocument%] /commit:"%Sitename%"ICACLS %SitePath% /inheritance:e /grant:R "IIS AppPool\%SiteName%":RICACLS %SitePath%\* /inheritance:e /grant:R "IIS AppPool\%SiteName%":RICACLS %SitePath%\%Cache% /inheritance:e /grant:R "IIS AppPool\%SiteName%":RICACLS %SitePath%\%Cache% /inheritance:e /grant:R "IIS AppPool\%SiteName%":R
IIS7Appcmd 命令詳解