Share via


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