首页 > 编程 > VBScript > 正文

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

2020-06-26 18:17:58
字体:
来源:转载
供稿:网友
用ADSI+ASP添加IP到IIS禁止访问列表中
 

 

复制代码代码如下:

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表