IIS 7 提供了一个新的命令行工具 Appcmd.exe,可使用该工具来配置和查询 Web 服务器上的对象,并以文本或 XML 格式返回输出。 下面是一些可使用 Appcmd.exe 完成的任务的示例:
•建立和配置站点、应用程序、应用程序池和虚拟目录。
•中止和启动站点。
•启动、中止和回收应用程序池。
•查看有关在 Web 服务器上运行的工做进程和请求的信息。
Appcmd.exe 为常见的查询和配置任务提供了一致的命令,从而下降了学习语法的复杂性。 例如,您可使用 list 命令来搜索有关对象(如应用程序)的信息,也可使用 add 命令来建立对象(如站点)。
另外,您还能够将命令组合在一块儿使用,以返回与 Web 服务器上对象相关的更为复杂的数据,或执行更为复杂的任务。 例如,您能够完成相似以下任务的复杂任务:中止全部具备运行时间超过六十秒的请求的站点。
AppCmd.exe工具所在目录 C:\windows\sytstem32\inetsrv\目录下web
使用命令行管理IIS 7.0时,须要使用IIS7.0提供的全新管理工具AppCmd.exe。AppCmd.exe工具能够完成web服务器的全无论理工做。利用AppCmd.exe工具,既能够经过命令行提示完成挂历工做,也能够经过脚本完成管理工做。利用AppCmd.exe工具,能够完成如下工做:shell
一、添加、删除、修改web网站和应用程序池windows
二、中止,启动web网站和应用程序池服务器
三、观察工做进程和请求信息app
四、一列表形式显示IIS和ASP.NET的配置信息,并支持对IIS和ASP.NET的配置信息进行修改工具
AppCmd.exe工具提供了一个一直的命令集,利用该命令集,针对受支持的对象类型,能够执行查询操做并完成一些其余任务,既能够段杜运行这些命令,也能够讲命令进行组合并欲行命令组合,从而能够执行复杂的任务,完成复杂的查询工做,如表:学习
对象名称 描述 site 管理虚拟网站 app 管理应用程序 vdir 管理虚拟目录 appool 管理应用程序池 config 挂历通用配置文件 wp 挂历工做进程 request 管理http请求 module 管理服务器模块 backup 管理服务器配置备份 trace 管理失效请求跟踪日志网站
AppCmd.exe工具支持的命令:spa
add.net
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 回收应用程序池
一、列出一个对象全部实例
appcmd.exe list app
二、列出独一无二的对象实例
appcmd.exe list app "Default Web Site/"
三、列出知足必定准则的对象实例
appcmd.exe list app /apppool.name:"defaultapppool"
四、列出对象的详细信息
appcmd.exe list app "default web site/"/text:*
5.列出全部XXX应用程序池的应用程序
appcmd.exe list app /text:/apppool.name:XXX
六、列出网站的配置信息
appcmd.exe list site "default web site "/config
七、更换应用程序池
appcmd.exe set app "default web site/" /applicationpool:"XXX"
八、添加新的应用程序池
appcmd.exe add apppool /name:"XXX"
九、删除应用程序池
appcmd.exe delete apppool /apppool.name:"XXX"
十、列出全部的应用程序池的详细信息
appcmd.exe list apppool
十一、查询全部应用程序池状态为started的
appcmd.exe list apppools /state:started
十二、关闭指定应用程序池
appcmd.exe stop appPool /appPool.name:"XXX"
1三、开启指定应用程序池
appcmd.exe start apppool /apppool.name:"XXX"
1四、监视当前的请求
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
1六、列出服务器的总体配置信息
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:?
1七、编辑配置节点信息
eg1: 启用全局IPv6
appcmd.exe set config /section:system.net/settings -ipv6.enabled:"true"
eg2:在全局配置中启用了IPv6,如今要在默认的web中引用IPv6
appcmd.exe set config "http://localhost" /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
1八、对配置进行加锁和解锁
解锁:
appcmd.exe unlock config "default web site" /section:system.web/authentication
加锁:
appcmd.exe lock config "default web site" /section:system.web/authentication
1九、使用管道传送XML数据
能够在appcmd list 中使用/xml修饰符来建立复杂的任务,还能够执行大规模的批处理工做。利用/xml修饰符,能够讲一个查询的结果导出并保存到一个标准XML格式的文件中,从而使其余命令行工具或者shell命令可使用这个XML文件。例如,为了列出全部已启用的应用程序池,并将信息保存到一个标准的XML文件中,执行如下命令:
appcmd.exe list apppool /state:started /xml