#!/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";