更新IIS使用命令行6种IP限制(Update IIS 6 IP Restrictions usin

2019-10-28 16:39发布

我发现下面的命令行用于添加IP地址在IIS限制7

appcmd set config /section:ipsecurity /+"[ipaddress='10.0.0.1',allowed='false']"

是否有IIS 6等效的命令?

谢谢!

Answer 1:

没有,有没有内置的Windows命令去做。 你可以发现,人都写来减轻这个脚本的证据。

最后,要修改称为元数据库条目IPSecurity 。 事情是这样的:这个IP安全条目可以在顶层(W3SVC服务)来设置所有的方式,以单个文件。 所以,你可以为任何的定义安全:

  • 服务
  • 现场
  • VDIR
  • 文件

在你的问题的例子是服务范围内的,所以你要针对IIS://localhost/W3SVC 。 如果你想只配置默认的网站,你的目标IIS://localhost/W3SVC/1/Root

一旦你知道你要修改什么水平,你需要确定什么样的行动的过程是一个匹配的IP。 很显然你想要阻止。 这意味着你将需要修改IPDeny列表。

现在你只需要在你的选择是通过ADSI连接到数据库和修改IPDeny列表中包括附加的IP语言编写一个脚本。

我修改从MSDN页面的一个取一个参数:

  Dim SecObj 
  Dim MyIPSec 
  Dim IPList 

  Set SecObj = GetObject("IIS://LocalHost/W3SVC") 
  Set MyIPSec = SecObj.IPSecurity   
  If (FALSE = MyIPSec.GrantByDefault) Then 
     MyIPSec.GrantByDefault = TRUE 
  End If 

  if WScript.Arguments.Count = 0 then
     WScript.Echo "Missing IP Address"
     WScript.Quit(1)
  end if

  ' WScript.Echo "Adding "  & WScript.Arguments(0)

  IPList = MyIPSec.IPDeny 
  Redim Preserve IPList (Ubound(IPList)+1) 
  IPList (Ubound(IPList)) = WScript.Arguments(0)

  MyIPSec.IPDeny = IPList 
  SecObj.IPSecurity = MyIPSec 
  SecObj.Setinfo 

如果您保存此为blockip.vbs ,你可以把它叫做:

wscript blockip.vbs 10.0.0.1

仅供参考,这正常工作与IIS6,但只能用一次,然后存在失败的名单后,Win7上(IIS 7.5)。



文章来源: Update IIS 6 IP Restrictions using command line