Generally when the "Put" fails the object to which you are trying to "Put" does not exists or is the wrong data type.

Have you checked to to verify that your GetObject was a success?

Also when running a getObject to ADSI from a client computer, I found it better to include a binding target in the ADSI binding string:

$objcomputer=GetObject('LDAP://$Domain/cn='+$computer+$ldaploc)

What is this? [ IF $objcomputer=0 ] If you have a valid ADSI object it will not equal zero.
_________________________
Home page: http://www.kixhelp.com/hb/