You want to move some or all of the objects in an OU to a different OU. You may need to do this as part of a domain restructuring effort.
Open the Active Directory Users and Computers snap-in.
If you need to change domains, right-click on "Active Directory Users and Computers" in the left pane, select Connect to Domain, enter the domain name, and click OK.
In the left pane, browse to the OU that contains the objects you want to move and click on it.
Highlight the objects in the right pane you want to move, right-click on them, and select "Move."
Browse to the parent container you want to move the objects to, click on it.
Click OK.
Press F5 to refresh the contents of the OU. If objects still exist, repeat the previous three steps.
> for /F "usebackq delims=""" %i in (`dsquery * "<OldOrgUnitDN>" -scope onelevel`)[RETURN]
do dsmove -newparent "<NewOrgUnitDN>" %i
' This code moves objects from the "old" OU to the "new" OU ' ------ SCRIPT CONFIGURATION ------ strOldOrgUnit = "<OldOrgUnitDN>" ' e.g. ou=Eng Tools,dc=rallencorp,dc=com strNewOrgUnit = "<NewOrgUnitDN>" ' e.g. ou=Tools,dc=rallencorp,dc=com ' ------ END CONFIGURATION --------- set objOldOU = GetObject("LDAP://" & strOldOrgUnit) set objNewOU = GetObject("LDAP://" & strNewOrgUnit) for each objChildObject in objOldOU Wscript.Echo "Moving " & objChildObject.Name objNewOU.MoveHere objChildObject.ADsPath, objChildObject.Name next
If you want to move more than 2,000 objects at one time, you will need to modify the default number of objects displayed as described in Discussion section of Recipe 5.3.
Since dsmove can move only one object at a time, I had to use the for command to iterate over each child object returned from dsquery. Also note that if you want to move more than 100 objects, you'll need to specify the -limit xx option with dsquery, where xx is the maximum number of objects to move (use 0 for all).
For more information on the MoveHere method, see Recipe 4.17.
Recipe 4.17 for moving objects, Recipe 5.3 for enumerating objects in an OU, and MSDN: IADsContainer::MoveHere