rem ChangeRDN.vbs - Changes the >cn< of all users in a given OU rem to the format of >Lastname Firstname<. rem Usage = cscript ChangeRDN.vbs "OU=YourOu,DC=YourDomain,DC=YourTLD" rem OU must be enclosed in quotes if it contains spaces in the name rem By Robert Pieroth [MCP, MCSA, MCSE, MCT], Germany, April 22, 2002 Dim strTargetOU ParseCommandLine() wscript.echo " Changing Relative Distinguished Names of users in Active Directory" wscript.echo " Changing RDN in your selected OU: " & chr(13) & chr(10) & " " & strTargetOU Set oTargetOU = GetObject("LDAP://" & strTargetOU) oTargetOU.Filter = Array("user") For each usr in oTargetOU if instr(usr.SamAccountName, "$") = 0 then vRDN = "LDAP://cn=" & usr.get("cn") & "," vName = "cn=" & usr.get("Sn") & " " & usr.get("GivenName") vChangeName = vRDN & strTargetOU wscript.echo chr(13) & chr(10) & " Changing object: " & vChangeName set username = oTargetOU.MoveHere(vChangeName, vName) wscript.echo " The new RDN (cn) is " & usr.get("Sn") & " " & usr.get("GivenName") end if Next Sub ParseCommandLine() Dim vArgs set vArgs = WScript.Arguments if vArgs.Count <> 1 then DisplayUsage() Else strTargetOU = vArgs(0) End if End Sub Sub DisplayUsage() wScript.Echo " Error! Parameters not specified!" WScript.Echo " Usage: cscript.exe " & WScript.ScriptName & " " WScript.Echo " Example: cscript " & WScript.ScriptName & " " & chr(34) & "OU=YourOU,DC=YourDomain,DC=YourTLD" & chr(34) WScript.Echo " OU must be enclosed in quotes if it contains spaces in the name!" WScript.Quit(0) End Sub