IIS7Appcmd 命令詳解

來源:互聯網
上載者:User

標籤: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 命令詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.