VBScript使用ADSI为IIS批量添加屏蔽或允许访问的IP
复制代码 代码如下:
'/*========================================================================= 
' * 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 
下一篇:emule自动关机脚本