内容显示页
 
类别:ASP+VBS | 浏览(518) | 2008-12-8 23:32:32
'/*=========================================================================
' * Intro       VBScript使用ADSI为IIS批量添加屏蔽或允许访问的IP
' * FileName    VBScript-ADSI-IIS-Add-Deny-Grant-IP-Change-MetaBase.xml.vbs
' * Author      yongfa365
' * Version     v1.0
' * WEB         http://www.yongfa365.com
' * Email       yongfa365[at]qq.com
' * FirstWrite  http://www.yongfa365.com/Item/ADSI-IIS-Add-Deny-Grant-IP.vbs.html
' * From        http://blog.csdn.net/linyu/archive/2008/11/14/3300454.aspx
' * MadeTime    2008-12-08 23:10:45
' * LastModify  2008-12-08 23:10:45
' *==========================================================================*/

'AddDenyIP2All "192.168.1.106,255.255.255.0"
'AddDenyIP2All "127.0.0.1"
'AddDenyIP "123456","127.0.0.1"


'添加要屏蔽的IP或一组计算机,到一个指定站点上

Sub AddDenyIP(strWebNo, strDenyIp)
    On Error Resume Next
    Set SecObj = GetObject("IIS://LocalHost/W3SVC/" & strWebNo & "/Root")
    Set MyIPSec = SecObj.IPSecurity
    MyIPSec.GrantByDefault = True
    IPList = MyIPSec.IPDeny
    i = UBound(IPList) + 1
    ReDim Preserve IPList(i)
    IPList(i) = strDenyIp
    MyIPSec.IPDeny = IPList
    SecObj.IPSecurity = MyIPSec
    SecObj.Setinfo
End Sub


'添加要屏蔽的IP或一组计算机,到IIS公共配置,以应用到所有站点
'如果之前对有些站点单独做过屏蔽IP设置,在些设置不会生效,得在总的网站上设置一下,然后覆盖所有子结点

Sub AddDenyIP2All(strDenyIp)
    On Error Resume Next
    Set SecObj = GetObject("IIS://LocalHost/W3SVC")
    Set MyIPSec = SecObj.IPSecurity
    MyIPSec.GrantByDefault = True
    IPList = MyIPSec.IPDeny
    i = UBound(IPList) + 1
    ReDim Preserve IPList(i)
    IPList(i) = strDenyIp
    MyIPSec.IPDeny = IPList
    SecObj.IPSecurity = MyIPSec
    SecObj.Setinfo
End Sub






'添加允许的IP或一组计算机,到一个指定站点上

Sub AddGrantIP(strWebNo, strGrantIp)
    On Error Resume Next
    Set SecObj = GetObject("IIS://LocalHost/W3SVC/" & strWebNo & "/Root")
    Set MyIPSec = SecObj.IPSecurity
    MyIPSec.GrantByDefault = False
    IPList = MyIPSec.IPGrant
    i = UBound(IPList) + 1
    ReDim Preserve IPList(i)
    IPList(i) = strGrantIp
    MyIPSec.IPGrant = IPList
    SecObj.IPSecurity = MyIPSec
    SecObj.Setinfo
End Sub


'添加允许的IP或一组计算机,到IIS公共配置,以应用到所有站点
'如果之前对有些站点单独做过屏蔽IP设置,在些设置不会生效,得在总的网站上设置一下,然后覆盖所有子结点

Sub AddGrantIP2All(strGrantIp)
    On Error Resume Next
    Set SecObj = GetObject("IIS://LocalHost/W3SVC")
    Set MyIPSec = SecObj.IPSecurity
    MyIPSec.GrantByDefault = False
    IPList = MyIPSec.IPGrant
    i = UBound(IPList) + 1
    ReDim Preserve IPList(i)
    IPList(i) = strGrantIp
    MyIPSec.IPGrant = IPList
    SecObj.IPSecurity = MyIPSec
    SecObj.Setinfo
End Sub



'显示IIS公共配置里禁止访问的IP
Sub ListDenyIP()
    Set SecObj = GetObject("IIS://LocalHost/W3SVC")
    Set MyIPSec = SecObj.IPSecurity
    IPList = MyIPSec.IPDeny 'IPGrant/IPDeny
    WScript.Echo Join(IPList, vbCrLf)
'   For i = 0 To UBound(IPList)
'       WScript.Echo i + 1 & "-->" & IPList(i)
'   Next
End Sub

 


引用本页地址:http://www.yongfa365.com/item/ADSI-IIS-Add-Deny-Grant-IP.vbs.html
 
 
相关链接
 
网友评论:
1 auex - 2009-1-28 20:43:10
这个不错,感觉能够用简单方法实现的,就不要动牛刀
 
2 pp - 2009-2-27 0:25:09
如何删除允许的IP呢,用脚本?
 
姓名: 记住我
网址:
邮箱:
内容:
验证码:  验证码图片 看不清? 换张图试试
 
     
 
 
文章分类
 
 
专题(3)
 
.Net + C#(54)
 
 
ASP+VBS(159)
 
 
 
Linux(10)
 
 
 
web 2.0(24)
 
 
 
 
 
心程(66)
 
生活(95)
 
 
     

Power by :柳永法(yongfa365)'Blog  | 京ICP备07011491号  QQ:64049027  E-mail:64049027qq.com yongfa365'CodePlex

转载请注明来源,以便后人及时得到最新、修正、加强版!!!