• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 631
  • Last Modified:

AD Script to Move computer from default to a new OU

I found this code that someone provided that will move users or computers from one OU to another OU and it works fine. However I have a client that needs to move computers from the default location (CN=Computers) to a new OU
I have attached the code.
Option Explicit
'On Error Resume Next
Dim aConnection, aCommand, aResult, strResultText, strDN, dtmValue, objComputer, objOU, fso, strLine, objFile, strFilePath, strNewLDAP
strFilePath = "C:\userlist.txt"
Set fso = CreateObject("Scripting.Filesystemobject")
Set objFile = fso.OpenTextFile(strFilePath, 1)
strNewLDAP = InputBox("Enter the LDAP name of target OU:")
 
Set aConnection = CreateObject("ADODB.Connection")
Set aCommand = CreateObject("ADODB.Command")
aConnection.Provider = "ADsDSOObject"
aConnection.Open
aCommand.ActiveConnection = aConnection
Set objOU = GetObject("LDAP://" & strNewLDAP)
 
Do Until objFile.AtEndOfStream
	strLine = objFile.ReadLine
	objOU.MoveHere "LDAP://" & strLine, vbNullString
Loop
 
objFile.Close

Open in new window

0
g-techforce
Asked:
g-techforce
  • 4
  • 3
1 Solution
 
g-techforceAuthor Commented:
The command i run to get the c:\userlist is:

dsquery computer CN=Computers,dc=domain,dc=com >> C:\userlist.txt

and it creates a file called userlist with the following example inside:

"CN=shanana,CN=Computers,DC=brad,DC=local"
"CN=miley,CN=Computers,DC=brad,DC=local"
0
 
sk_raja_rajaCommented:
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
g-techforceAuthor Commented:
id rather use the code i have and just modify it to work.
Anyone know what I need to change to get it to work?
0
 
sk_raja_rajaCommented:
1)Apply following commands to it will MOVE  **ALL**  COMPUTER TO NEW OU.
You need to change OU DN in 2nd statement.

Click Start -> Run -> Cmd.exe

DSQuery Computer -Name * -Limit 0 >Computers.txt

FOR /F "delims=*" %c IN ('Type Computers.txt') DO DSMove  %c -newparent "OU=SALES,DC=TRAINING,DC=COM

2)Try Dsmove.exe. Here's a link for more information:
http://support.microsoft.com/kb/298882

3)http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_23454736.html
http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_21605648.html
0
 
g-techforceAuthor Commented:
ok i misunderstood the client.
I need some sort of script that when a user logs into the domain successfully it will check to see if he's in the correct OU.

Is there a login script or something that can move a computer to another OU if the user logs in successsfully?
0
 
g-techforceAuthor Commented:
Ok,
here is an update. Apparently I misundertood him again, but this time its simple.

I need a script he can run from a login script that will take that particular computer and move it to the new OU.

for example
Jane's computer is in the default OU. Jane logs into the domain and the script runs and moves only HER computer to the NEW Ou.

sounds simple but i cant find the code to do it.
0

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now