You want to move an OU and all its child objects to a different location in the directory tree.
220.127.116.11 Using a graphical user interface
18.104.22.168 Using a command-line interface
> dsmove "<OrgUnitDN>" -newparent "<NewParentDN>"
22.214.171.124 Using VBScript
set objOU = GetObject("LDAP://<NewParentDN>") objOU.MoveHere "LDAP://<OrgUnitDN>", "<OrgUnitRDN>"
One of the benefits of Active Directory is the ability to structure and restructure data easily. Moving an OU, even one that contains a complex hierarchy of other OUs and objects, can be done without impacting the child objects.
If any applications have a dependency on the location of specific objects, you need to ensure they are either updated with the new location or preferably, reference the objects by GUID, not by distinguished name.
You should also be mindful of the impact of inherited ACLs and applied group policy on the new parent OU.
5.7.4 See Also
MS KB 313066 (HOW TO: Move Users, Groups, and Organizational Units Within a Domain in Windows 2000) and MSDN: IADsContainer::MoveHere