You want to use Win32::OLE and
ADSI. Another option is using Exchange's writable LDAP interface. I have found that ADSI works pretty well for what you want to do. Here is a your example in Perl:
my $mailbox = Win32::OLE->GetObject("LDAP://EXCHSERVER/o=org/ou=orguni
+t/cn=Recipients/cn=userDN");
$mailbox->{cn} = "Smith, Jane";
or something like that. MSDN documents tells you how to get all the attribute identifiers. Note that for bulk imports, I have found that the command line utilities are much faster than any perl solution. Of course we do have over 100,000 recipients to update attributes for.
Dave