[ Team LiB ] |
Recipe 4.17 Moving an Object to a Different OU or Container4.17.1 ProblemYou want to move an object to a different container or OU. 4.17.2 Solution4.17.2.1 Using a graphical user interface
4.17.2.2 Using a command-line interface> dsmove "<ObjectDN>" -newparent "<NewParentDN>" 4.17.2.3 Using VBScript' This code moves an object from one location to another in the same domain. ' ------ SCRIPT CONFIGURATION ------ strNewParentDN = "LDAP://<NewParentDN>" strObjectDN = "LDAP://cn=jsmith,<OldParentDN>" strObjectRDN = "cn=jsmith" ' ------ END CONFIGURATION --------- set objCont = GetObject(strNewParentDN) objCont.MoveHere strObjectDN, strObjectRDN 4.17.3 Discussion4.17.3.1 Using a graphical user interfaceIf the parent container of the object you want to move has a lot of objects in it, you may want to add a new connection entry for the DN of the object you want to move. This may save you time searching through the list of objects in the container. You can do this by right clicking ADSI Edit and selecting Connect to. Under Connection Point, select Distinguished Name and enter the DN of the object you want to move. 4.17.3.2 Using a command-line interfaceThe dsmove utility can work against any type of object (no limitations as with dsadd and dsmod). The first parameter is the DN of the object to be moved. The second parameter is the new parent container of the object. The -s parameter can additionally be used to specify a specific server to work against. 4.17.3.3 Using VBScriptThe MoveHere method can be tricky, so an explanation of how to use it to move objects is in order. First, you need to call GetObject on the new parent container. Then call MoveHere on the parent container object with the ADsPath of the object to move as the first parameter and the RDN of the object to move as the second. The reason for the apparent duplication of cn=jsmith in the MoveHere method is that the same method can also be used for renaming objects within the same container (see Recipe 4.19). 4.17.4 See AlsoMS KB 313066 (HOW TO: Move Users, Groups, and Organizational Units Within a Domain in Windows 2000), and MSDN: IADsContainer::MoveHere |
[ Team LiB ] |