#!/usr/bin/perl
 
use strict;
use Net::LDAP;
use Win32::OLE;
$Win32::OLE::Warn = 3;
 
use Data::Dumper;
my $ldap = Net::LDAP->new("<DOMAIN CONTROLLER>") or die "$@";
my $mesg = $ldap->bind("<AD PRIV USER>", password => "<AD PRIV PASSWD>");
my $user_count = 0;
 
my $result = $ldap->search (  base => "BASEDN",
                           scope => "sub",
                           filter => "(msIIS-FTPRoot=*<PATH YOU WANT CHANGED>*)",
                           attrs => "sAMAccountName,description,physicalDeliveryOfficeName,telephoneNumber,userAccountControl,msIIS-FTPRoot,msIIS-FTPDir,msSFU30HomeDirectory"
                        );
if ($result->count > 0){
        my @UsersinDomain = $result->entries;
        # Loop through the elements again and return the DN if the login ID matches
        foreach my $LdapUser (@UsersinDomain) {
                my $user = $LdapUser->get_value('sAMAccountName');
                $user = "cn=$user,<BASEDN>";
                my $objUser = Win32::OLE->GetObject("LDAP://" . $user);
                print "$user\n";
                $objUser->Put("msIIS-FTPRoot", "\\\\web\\customer-home");
                $objUser->SetInfo;
            $user_count++;
        }
}
else{
    print "unable to find\n";
}
 
print "Total Number Users: $user_count\n";