Hi,
The msdn sample for setting ipgrant properties on a metabase object will
only work if:
1- there are no restriction already in place
2- you do not attempt to add more than 1 entry
the example is:
--------------------
Dim SecObj
Dim MyIPSec
Dim IPList
' Get the IIS object that holds the info for the default site.
' This could be any site root/vdir, or
IIS://LocalHost/W3SVC for global
' properties.
Set SecObj = GetObject("IIS://LocalHost/W3SVC/1/Root")
' Get the IIsIPSecurity object.
Set MyIPSec = SecObj.IPSecurity
' Make sure GrantByDefault=FALSE or your changes will not count.
If (TRUE = MyIPSec.GrantByDefault) Then
Response.Write
"<BR>GrantByDefault was not FALSE. Setting to FALSE.<BR>"
MyIPSec.GrantByDefault = FALSE
End If
' Get the Grant list as an array, and add your newly allowed IP address
IPList = MyIPSec.IPGrant
Redim IPList (Ubound(IPList)+1)
IPList (Ubound(IPList)) = "123.0.0.1,255.255.255.0"
' Set the new lists back in the metabase in two stages, and then set
' the metabase.
MyIPSec.IPGrant = IPList
SecObj.IPSecurity = MyIPSec
SecObj.Setinfo
Response.Write "The IPRestriction has been set<BR>"
-----------------------
This is despite the fact that it says "and add your newly allowed IP address"
I am trying to add a couple of class be networks to the allow list
It works only if:
i delete the metabase key and then recreate it (using adsutil) - this is a
IISWEbFile object and hence does not exist if there is nothing already in
place
then add a single entry.
but if i then attempt to add another entry it fails with (null): 0x8000500C
am i doing something wrong with the array
Thanks,
Allan