VBScript使用ADSI为IIS批量添加屏蔽或允许访问的IP
VBScript使用ADSI为IIS批量添加屏蔽或允许访问的IP
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:'/*==========================================================...

复制代码 代码如下:

'/*=========================================================================

' * Intro VBScript使用ADSI为IIS批量添加屏蔽或允许访问的IP

' * FileName VBScript-ADSI-IIS-Add-Deny-Grant-IP-Change-MetaBase.xml.vbs

' *==========================================================================*/

'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学习
热门vbs学习
脚本专栏子分类