Move child objects (Perl)

This code can be found in Chapter 5 of Active Directory Cookbook, 2nd edition

Purchase XP Cookbook or Networking Recipes for only $25 plus shipping! While supplies last.

Find out how to download all of the Perl code from this site.

# This Perl code moves objects from the "old" OU to the "new" OU

# ---------------------------------------------------------------
# Adapted from VBScript code contained in the book:
#      "Active Directory Cookbook" by Robbie Allen
# Publisher: O'Reilly and Associates
# ISBN: 0-596-00466-4
# Book web site: http://rallenhome.com/books/adcookbook/code.html
# ---------------------------------------------------------------

# ------ SCRIPT CONFIGURATION ------
my $strOldOrgUnit = "<OldOrgUnitDN>"; # e.g. ou=Eng Tools,dc=rallencorp,dc=com
my $strNewOrgUnit = "<NewOrgUnitDN>"; # e.g. ou=Tools,dc=rallencorp,dc=com
# ------ END CONFIGURATION ---------
use Win32::OLE 'in';
$Win32::OLE::Warn = 3;
my $objOldOU = Win32::OLE->GetObject("LDAP://" . $strOldOrgUnit);
my $objNewOU = Win32::OLE->GetObject("LDAP:// " . $strNewOrgUnit);
foreach my $objChildObject (in $objOldOU) {
    print "Moving ", $objChildObject->Name, "\n";
    $objNewOU->MoveHere($objChildObject->ADsPath, $objChildObject->Name);
}

This code has been viewed 1209 times.

New from the creators of TechTasks.com: StatSheet.com