Adding Properties to Existing IIS ADSI Classes

You can use the following VBScript example code to add existing properties to existing ADSI classes by modifying the OptionalProperties list for a Class object.

To add a property, follow these steps:

  • Bind to the class in the IIS ADSI Schema you want to add a property to.

  • Bind to the OptionalProperties list for the Class object.

  • Add the new property to the list.

  • Write the new OptionalProperties list to the metabase.

Example Code

The following example shows you how to use the VBScript programming language to modify the OptionalProperties list for a Class object.

'   Get the parameters for the machine name. 
Dim MachineName 
Dim ClassName 
Dim PropertyName 
Dim Action 
Dim ArgObj 
Set ArgObj=WScript.Arguments 
Action = ArgObj.Item (0) 
MachineName = ArgObj.Item (1) 
ClassName = ArgObj.Item (2) 
PropertyName = ArgObj.Item (3) 

'   Bind to Class in Schema container. 
Dim SchemaObj 
Dim NewClassObj 
Set NewClassObj = GetObject ("IIS://" & MachineName & "/Schema/" & ClassName) 

'   Set the OptionalProperties list. 
'   Add PropertyName. 
Dim OptPropList 
Dim cntOptPropList = NewClassObj.OptionalProperties 
cnt = UBound(OptProplist) 
If (Action = "add") Then 
   ReDim Preserve OptPropList(cnt+1) 
   OptPropList(cnt+1) = PropertyNameNewClassObj.OptionalProperties = OptPropList 
End If 

if (Action = "del") Then 
   Dim temparraycount 
   ReDim temparraycount (cnt-1) 
   Dim tempcount1 
   Dim tempcount2tempcount1 = 0 
   tempcount2 = 0 

   do while (tempcount2 <= cnt) 
      If ( OptProplist(tempcount2) <> PropertyName) Then 
         temparraycount (tempcount1) = OptPropList (tempcount2) 
         tempcount1 = tempcount1 + 1 
      End If 
      tempcount2 = tempcount2 + 1 
   Loop 

   NewClassObj.OptionalProperties = temparraycount 
End if 

NewClassObj.SetInfo