# ---------------------------------------------------------------- use Modern::Perl; no warnings 'uninitialized'; use Win32::OLE; my $ADsPath = 'LDAP://CN=Guest11,OU=OurDept,DC=OurDomain,DC=com'; my $user = Win32::OLE->GetObject($ADsPath); # Some simple info say 'Initial fetch'; my $uid = $user->sAMAccountName; my $name = $user->Name; my $phone = $user->telephoneNumber; say " uid=$uid, name=$name, phone=$phone\n"; # This prints: uid=guest11, name=CN=Guest11, phone=000 # Update $user->{telephoneNumber} = '555'; $user->SetInfo; # ****************** # Re-display. say 'After update'; $uid = $user->sAMAccountName; $name = $user->Name; $phone = $user->telephoneNumber; say " uid=$uid, name=$name, phone=$phone\n"; # This prints: uid=guest11, name=CN=Guest11, phone=Guest11 # ****************** # Re-Fetch. say 'Re-fetch'; $user = Win32::OLE->GetObject($ADsPath); $uid = $user->sAMAccountName; $name = $user->Name; $phone = $user->telephoneNumber; say " uid=$uid, name=$name, phone=$phone"; # This prints: uid=guest11, name=CN=Guest11, phone=555 # ---------------------------------------------------------------