I had the same issue trying to update a custom attribute for a product called DirectorySmart.
I found no way thru Kixtart to successfully use .putex, but I did come up with a work-around.
The workaround involves the creation of a temporary VBscript, and the execution of this script. See the example below:
code:
; this example will add 3 entries to the otherIpPhone attribute for user Jim Smith
Break ON
CLS
$phone1="phone1"
$phone2="phone2"
$phone3="phone3"
$setdn = Chr(34)+"LDAP://w2kbase.sandbox.ca/cn=Jim Smith,ou=TestOU,dc=sandbox,dc=ca"+Chr(34)
; chr(34) is double-quote
Del "c:\tempvbs.vbs"
Open(2,"c:\tempvbs.vbs",5)
WriteLine(2,"Const ADS_PROPERTY_UPDATE = 2 ")+@CRLF
WriteLine(2,"Set objUser = GetObject _")+@CRLF
WriteLine(2,"("+$setdn+")")+@CRLF
WriteLine(2,"objUser.PutEx ADS_PROPERTY_UPDATE, _")+@CRLF
WriteLine(2,Chr(34)+"otherIpPhone"+Chr(34)+", Array"+Chr(34)+"("+$phone1+Chr(34)+","+Chr(34)+$phone2+Chr(34)+","+Chr(34)+$phone3+Chr(34)+")")+@CRLF
WriteLine(2,"objUser.SetInfo")+@CRLF
Close(2)
? "Press anykey to spawn tempvbs.vbs"
Get $anykey
Shell "cmd.exe /c c:\tempvbs.vbs"
? "Done"
Get $gg
Hope this helps