IIS6 管理脚本之 adsutil.vbs 的使用

来源:互联网 发布:一般公共预算收入 知乎 编辑:程序博客网 时间:2024/05/13 05:43
IIS6 管理脚本之 adsutil.vbs 的使用
Adsutil.vbs是什么?它是Windows 2003的IIS服务自带的基于命令行下的IIS管理脚本,
位于%SystemDrive%InetpubAdminScripts目录下,95,426字节。这么大的脚本一看就知道功能肯定非常强大,事实也确是如此。我感觉它就是个命令行下的“Internet 信息服务管理器”(事实上Windows 2000用%SystemDrive%InetpubAdminScripts下原有的20多个VBS进行管理,而到了2003则只剩下Adsutil.vbs一个了,足以说明它的功能是多么强大)。
    提到Adsutil.vbs就不得不提到MetaBase.bin,这个文件是IIS最重要的配置文件,所有IIS的设置最终都会储存在这个文件中,IIS管理器和Adsutil.vbs就是通过对这个文件读取配置信息来显示给用户的。它的储存结构十分像注册表,是一种树型储存结构。IIS管理器和Adsutil.vbs通过一个Adspath的路径来访问MetaBase.bin,路径是由IIS:\开头,其中LocalHost表示本地服务器,而W3svc表示IIS服务,如IIS:\LocalHost/w3svc/1表示本地服务器上的第一个WEB站点,IIS:\LocalHost/w3svc/1/root/Vdir表示第一个WEB站点根目录下的Vdir虚拟目录。
    Adsutil.vbs基本用法
    有了这些前置知识,下面再回到Adsutil.vbs来看看它的用法:
C:InetpubAdminScripts>cscript Adsutil.vbs
Microsoft (R) Windows Script Host Version 5.6
版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。
Usage:
      ADSUTIL.VBS <cmd> [<path> [<value>]]
Description:
IIS administration utility that enables the configuration of metabase properties
Supported Commands:    //支持的命令,这个最重要
  GET,SET,ENUM,DELETE,CREATE,COPY,APPCREATEINPROC,APPCREATEOUTPROC,APPCREATEPOOLPROC,APPDELETE,APPUNLOAD, APPGETSTATUS
配置目录的存取权限
C:InetpubAdmins cripts>chaccess.vbs -a w3svc/1/ROOT -verbose    
Usage: chaccess <--ADSPath|-a ADSPATH> 控制配置路径    
[--computer|-c COMPUTER1[,COMPUTER2...]]指定机器名,IP也可。    
[+read|-read] 主目录下的读取权限    
[+write|-write]主目录下的写入权限    
[+s cript|-s cript]主目录下的执行许可权限为纯脚本    
[+execute|-execute]主目录下的执行许可权限为脚本和可执行程序    
[+browse|-browse]主目录下的目录浏览权限    
[--verbose|-v]当前版本    
[--help|-?]    
显示指定路径的属性及状态信息
C:InetpubAdmins cripts>dispnode help    
Usage: dispnode <--ADSPath|-a ADS PATH OF NODE> [--help|-h]    
ADS PATH - The Path of the node to be displayed    
Example 1: dispnode -a IIS://LocalHost/w3svc显示当前IIS的主属性    
Example 2: dispnode --adspath IIS://MachineName/w3svc/1 显示当前站点的状态信息    
寻找命名的Web,并显示节点号、描述、主机名、端口和IP地址    
C:InetpubAdmins cripts>findweb    
Web Site Number = 1    
Web Site Des cription = 默认 Web 站点    
Hostname =    
Port = 80    
IP Address =    
C:InetpubAdmins cripts>findweb 360haoso.com 
Web Site Number = 2    
Web Site Des cription = 360haoso.com 
   
Hostname = www.360haoso.com 
Port = 80    
IP Address = www.360haoso.com  
显示指定站点路径管理树
C:InetpubAdmins cripts>disptree.vbs help    
Usage: disptree [--ADSPath|-a ROOT NODE] 指定要显示管理树的路径    
[--NoRecurse|-n]    
[--Help|-?]    
创建WEB虚拟站点    
C:InetpubAdmins cripts>mkw3site help    
Unknown argument help    
Usage: mkw3site <--RootDirectory|-r ROOT DIRECTORY>网站路径名    
<--Comment|-t SERVER COMMENT>WEB网站标识    
[--computer|-c COMPUTER1[,COMPUTER2...]]    
[--port|-o PORT NUM]端口    
[--IPAddress|-i IP ADDRESS]IP地址    
[--HostName|-h HOST NAME]主机名    
[--SiteNumber|-n SITENUMBER]    
[--DontStart]不启动    
[--verbose|-v]    
[--help|-?]    
创建指定站点的虚拟目录    
C:InetpubAdmins cripts>mkwebdir.vbs help    
Usage: mkwebdir [--computer|-c COMPUTER1,COMPUTER2]指定服务器名    
<--website|-w WEBSITE1>指定虚拟站点名    
<--virtualdir|-v NAME1,PATH1,NAME2,PATH2,...>指定虚拟目录名和目录文件地址    
[--help|-?]    
Example : mkwebdir -c MyComputer -w "Default Web Site"    
-v "dir1","c:inetpubwwwrootdir1","dir2","c:inetpubwwwrootdir2"    
暂停指定站点的IIS服务    
C:InetpubAdmins cripts>pausesrv help    
Usage: pausesrv <--ADSPath|-a server1[,server2,server3...]>    
[--computer|-c COMPUTER1[,COMPUTER2...]]    
[--verbose|-v]    
[--help|-?]    
Example 1: pausesrv -a w3svc/1,msftpsvc/2    
Example 2: pauseftp -c MACHINE1,MACHINE2,MACHINE3 -a w3svc/1,msftpsvc/2    
恢复暂停的站点的IIS服务    
C:InetpubAdmins cripts>contsrv.vbs help    
Usage: contsrv <--ADSPath|-a server1[,server2,server3...]>    
[--computer|-c COMPUTER1[,COMPUTER2...]]    
[--verbose|-v]    
[--help|-?]    
Example 1: contsrv -a w3svc/1,msftpsvc/2    
Example 2: contsrv -c MACHINE1,MACHINE2,MACHINE3 -a w3svc/1,msftpsvc/2    
用法同上    
pauseftp.vbs 暂停FTP服务器服务    
contftp.vbs 恢复被暂停的FTP服务    
pauseweb.vbs 暂停Web服务器服务    
contweb.vbs 恢复暂停的WWW服务    
停止指定站点的IIS服务器服务    
C:InetpubAdmins cripts>stopsrv.vbs -a w3svc/2    
启动指定站点的IIS服务器服务    
C:InetpubAdmins cripts>startsrv.vbs -a w3svc/2    
停止指定站点的WEB服务器服务    
C:InetpubAdmins cripts>startweb.vbs -a w3svc/2    
启动指定站点的Web服务器服务    
C:InetpubAdmins cripts>stopweb.vbs -a 2    
用法同上    
stopftp.vbs 停止FTP服务器服务    
startftp.vbs 启动FTP服务器服务    
跟踪脚本的执行    
C:InetpubAdmins cripts>synciwam.vbs -h    
Usage: cs cript synciwam.vbs [-v|-h]    
-v verbose: trace execution of the s cript    
-h help: print this message
实用举例:
REM 创建虚拟目录
cscript adsutil.vbs   create W3SVC/1/Root/%1 "IIsWebVirtualDir"
REM 设置虚拟目录的属性
REM 创建一个进程内应用程序(.Net中没有inproc与outproc的区别,但旧脚本仍可使用)
cscript adsutil.vbs   appcreateinproc W3SVC/1/Root/%1
REM 设定应用程序的根目录
cscript adsutil.vbs   set W3SVC/1/Root/%1/AppRoot /LM/W3SVC/1/Root/%1
REM 设定应用程序的显示名称
cscript adsutil.vbs   set W3SVC/1/Root/%1/AppFriendlyName %1
应用程序的隔离等级(在.Net中不用设置)
cscript adsutil.vbs   set W3SVC/1/Root/%1/AppIsolated %2
REM 设定虚拟目录的路径
cscript adsutil.vbs   set W3SVC/1/Root/%1/Path %2
REM 设定虚拟目录的执行权限,513是纯脚本方式
cscript adsutil.vbs   set W3SVC/1/Root/%1/AccessFlags 513
REM 设定AuthFlags的值,5表示允许匿名访问和集成Windows验证
cscript adsutil.vbs   set W3SVC/1/Root/%1/AuthFlags 5
REM 设定DirbrowseFlags的值,DirbrowseFlags是控制目录浏览的开关参数,比较复杂,照填就行了
cscript adsutil.vbs   set W3SVC/1/Root/%1/DirbrowseFlags 1073741886
REM 设定默认文档
cscript adsutil.vbs   set W3SVC/1/Root/%1/DefaultDoc "Default.aspx"
REM 设定目录权限(可读、不可写、可浏览脚本资源、不可查看目录)
cscript chaccess.vbs   -a W3SVC/1/Root/%1 +read -write +script -browse
REM 设定
cscript adsutil.vbs 设置 w3svc / AppPool / DefaultAppPool / LogEventOnRecycle 0
 
 
 
 
================防病毒=========================
把asp.dll加入特权的dll一族之中.提升步骤为:

<1>先查看有特权一话有哪些.

<2>加asp.dll加入特权一族

好了,下面我们就来实践这个过程.
1)查看有特权的dll文件:

命令为:cscript adsutil.vbs get /W3SVC/InProcessIsapiApps

得到显示为:

C:\Inetpub\AdminScripts>cscript adsutil.vbs get /W3SVC/InProcessIsapiApps
Microsoft (R) Windows 脚本宿主版本 5.1 for Windows
版权所有(C) Microsoft Corporation 1996-1999. All rights reserved.

InProcessIsapiApps : (LIST)(5 Items)
"C:\WINNT\system32\idq.dll"
"C:\WINNT\system32\inetsrv\httpext.dll"
"C:\WINNT\system32\inetsrv\httpodbc.dll"
"C:\WINNT\system32\inetsrv\ssinc.dll"
"C:\WINNT\system32\msw3prt.dll"

看到没有,他说明的是有特权限一族为:idq.dll httpext.dll httpodbc.dll ssinc.dll msw3prt.dll

这几个文件,不同的机子,可能会不同.

2)把asp.dll加入特权一族:

因为asp.dll是放在c:\winnt\system32\inetsrv\asp.dll (不同的机子放的位置不一定相同)

我们现在加进去cscript adsutil.vbs set /W3SVC/InProcessIsapiApps "C:\WINNT\system32\idq.dll" "C:\WINNT\system32\inetsrv\httpext.dll" "C:\WINNT\system32\inetsrv\httpodbc.dll" "C:\WINNT\system32\inetsrv\ssinc.dll" "C:\WINNT\system32\msw3prt.dll""c:\winnt\system32\inetsrv\asp.dll"

好了,现在你可以用cscript adsutil.vbs get /W3SVC/InProcessIsapiApps 来查看是不是加进去

了,注意,用法中的get和set,一个是查看一个是设置.还有就是你运行上面的你要到C:\Inetpub\AdminScripts>这个目录下.

那么如果你是一个管理员,你的机子被人用这招把asp提升为system权限,那么,这时,防的方法就是把asp.dllT出特权一族,也就是用set这个命令,覆盖掉刚才的那些东东.

例:cscript adsutil.vbs set /W3SVC/InProcessIsapiApps "C:\WINNT\system32\idq.dll" "C:\WINNT\system32\inetsrv\httpext.dll" "C:\WINNT\system32\inetsrv\httpodbc.dll" "C:\WINNT\system32\inetsrv\ssinc.dll" "C:\WINNT\system32\msw3prt.dll"

这样就可以了,当你再用cscript adsutil.vbs get /W3SVC/InProcessIsapiApps 这个语句查之时,如果没有看见asp.dll,

说明,asp的权限又恢复到以前的权限.
===========================================================
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝上买手机不能用不给退怎么办 天猫申请退货退款卖家不处理怎么办 在淘宝买到货到付款的假苹果怎么办 跟朋友买手机买到假货怎么办 在淘宝网上买到不合格的产品怎么办 淘宝打假师打了我的店铺怎么办 收藏品公司关门跑路员工怎么办 客户快递签收后说货物短缺怎么办 京东商城买东西商家不换货怎么办 在商场买东西过几天就降价了怎么办 天猫买东西不退货不退款怎么办 买买8p美版的怎么办 京东金条银行卡被冻结还不了怎么办 在瑞士刚买的浪琴手表不走了怎么办 刚买的手表表镜有划痕 怎么办 唯品会上买的手表有质量问题怎么办 我买的对方材料没开票给我怎么办 给对方修完车车主不给发票怎么办 买苹果手机花呗额度不够怎么办 苹果手机用别人的手机卡激活怎么办 小米商城花呗分期额度不够怎么办 淘宝已经形成订单商家不发货怎么办 小米商城退款后又想买了怎么办 淘宝退货退款后不想退了怎么办 在转转的商品被屏了怎么办 不懂如何挑选适合自己的衣服怎么办 淘宝购买商品给顾客造成损失怎么办 微信购物地址写错了怎么办 微信购物后一直不发货怎么办 微信购物不发货也不退款怎么办 淘宝退货不小心点了确认收货怎么办 外卖不小心点了确认收货怎么办 圆通快递单号查不到物流信息怎么办 在京东买东西没收到退回去了怎么办 我的东西没收到退回去了怎么办 快递丢了快件丢失了快递公司怎么办 在天猫超市买东西订单关闭了怎么办 淘宝上退货店家收到货不理怎么办 淘宝申请退货退款卖家拒绝怎么办 闲鱼退货卖家拒绝退款怎么办 淘宝退货店家收到货不退款怎么办