5.6. Moving the Objects in an OU to a Different OU

Problem

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.

Solution

Using a graphical user interface

  1. Open the Active Directory Users and Computers snap-in.

  2. 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.

  3. In the left pane, browse to the OU that contains the objects you want to move and click on it.

  4. Highlight the objects in the right pane you want to move, right-click on them, and select “Move.”

  5. Browse to the parent container you want to move the objects to, click on it.

  6. Click OK.

  7. Press F5 to refresh the contents of the OU. If objects still exist, repeat the previous three steps.

Using a command-line interface

> for /F "usebackq delims=""" %i in (`dsquery * "<OldOrgUnitDN>" -scope onelevel`)[RETURN] 
do dsmove -newparent "<NewOrgUnitDN>" %i

Using VBScript

' 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, ...

Get Active Directory Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.