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.com
set SitePath=E:\webroot\test.com
set LogPath=G:\logfile
set defaultDocument='index.aspx'
set Is32BitApp =False
set BackPort=
set netversion=v4.
set 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: /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%":R
ICACLS %SitePath%\* /inheritance:e /grant:R "IIS AppPool\%SiteName%":R
ICACLS %SitePath%\%Cache% /inheritance:e /grant:R "IIS AppPool\%SiteName%":R
ICACLS %SitePath%\%Cache% /inheritance:e /grant:R "IIS AppPool\%SiteName%":R 水域 2017-04-04 14:44:51
set Sitename=test.com
set SitePath=E:\webroot\test.com
set LogPath=G:\logfile
set defaultDocument='index.aspx'
set Is32BitApp =False
set BackPort=99
set netversion=v4.0
set 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%":R
ICACLS %SitePath%\* /inheritance:e /grant:R "IIS AppPool\%SiteName%":R
ICACLS %SitePath%\%Cache% /inheritance:e /grant:R "IIS AppPool\%SiteName%":R
ICACLS %SitePath%\%Cache% /inheritance:e /grant:R "IIS AppPool\%SiteName%":R

IIS7Appcmd 命令详解的更多相关文章

  1. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

  2. linux yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  3. Linux下ps命令详解 Linux下ps命令的详细使用方法

    http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...

  4. Docker命令详解

    Docker命令详解   最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...

  5. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  6. android adb 命令详解

    ADB (Android Debug Bridge)  是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设 ...

  7. Git 常用命令详解

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  8. Top 命令详解

    Top 命令详解 先感受一下top命令的执行结果吧!哈哈-- top - 17:32:34 up 3 days, 8:04, 5 users, load average: 0.09, 0.12, 0. ...

  9. Ruby Gem命令详解

    转自:http://www.jianshu.com/p/728184da1699 Gem介绍: Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.o ...

随机推荐

  1. Tomcat环境变量设置

    tomcat环境变量配置     CATALINA_HOME:D:\server\apache-tomcat-8.5.32 //安装目录      CATALINA_BASE:D:\server\ap ...

  2. Xilinx Uboot网卡驱动分析

    1.MAC控制器.网卡.PHY.MDIO.mii.gmii.rgmii概念扫盲 网卡在功能上包含OSI模型的两个层,数据链路层和物理层.物理层定义了数据传送与接收所需要的电与光信号.线路状态.时钟基准 ...

  3. LM358电流检测电路

    ----------------------------------------------------------------------------------------- ---------- ...

  4. uboot能ping通本机无法ping通本机上搭建的虚拟机

    注意 转载请注明出处:https://www.cnblogs.com/dakewei 一.背景 1.1 uboot不能被其它主机ping通,这是由于uboot没有对其它主机发送过来的arp包进行响应, ...

  5. Mininet实验 自定义拓扑结构

    参考:MiniNet实验2 通过Mininet学习可视化操作,可以在界面上方便的构建拓扑结构. 最新的Mininet 2.2.0内置了一个mininet可视化工具miniedit.miniedit在/ ...

  6. UVa 11248 网络扩容(最大流(需要优化))

    https://vjudge.net/problem/UVA-11248 题意: 给定一个有向网络,每条边均有一个容量.问是否存在一个从点1到点N,流量为C的流.如果不存在,是否可以恰好修改一条弧的容 ...

  7. 配置github的SSH key及GitHub项目上传方式一——使用终端命令行

    GitHub是一个开源的大仓库,我们经常从github上下载项目进行学习和研究,下面是一个完整的步骤——往GitHub上传一个新项目. 一.注册GitHub账号 1.注册GitHub账号,地址:htt ...

  8. spark 累加历史 + 统计全部 + 行转列

    spark 累加历史主要用到了窗口函数,而进行全部统计,则需要用到rollup函数 1  应用场景: 1.我们需要统计用户的总使用时长(累加历史) 2.前台展现页面需要对多个维度进行查询,如:产品.地 ...

  9. .net core部署到linux

    1.Install the .NET SDK 我的服务器是腾讯云的Ubuntu 16 注册Microsoft密钥和订阅源 wget -q https://packages.microsoft.com/ ...

  10. HDU - 4804 Campus Design 轮廓线dp

    题意:一个nm的矩阵被12的骨牌和11的骨牌完全覆盖,11的骨牌只能放c-d次,矩阵中有障碍物 题解:dp[i][j][k]表示到了第i行,第j个状态,放过k个11的骨牌,当前位有障碍物时只有一种转移 ...