IIS批量添加屏蔽或允许访问的IP VBS版

canca13年前 (2011-11-14)VBScript263

 

'/*=========================================================================   
' * 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  


相关文章

VBS关闭或启动网络连接

Const ssfCONTROLS = 3 sConnectionName = "本地连接" sEnableVerb = "启用(&A)" sDisableVerb = "停用(&B)...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。