Moving Computers from one OU to another OU

Hello All
I am trying to move a computer object in AD from one OU to another ou and I keep getting the below error.  I am pulling the Ldap Path (target and destination) and the computername from a text file.  

C:\Support\movecomputer.vbs(28, 1) Microsoft VBScript runtime error: Wrong numbe
r of arguments or invalid property assignment: 'objNewOU.MoveHere'

Below is the Script
Set oCmdArgs = CreateObject("MTP.CmdArgs")

oCmdArgs.FromCollection(wscript.Arguments)
chnglist2 = oCmdArgs(0).Text
oCmdArgs.Reset
Set oStream = CreateObject("Scripting.FilesystemObject").OpenTextFile(chnglist2)
oCmdArgs.FromStream(oStream)

For ix = 0 To (oCmdArgs.Count - 1)
' Wscript.echo "Arg " & ix & ": " & oCmdArgs(ix).Text
'parses the test file and assigns variables for each value
sArray = Split(oCmdArgs(ix).Text, ";")
Computername = sArray(0)
ADSPath = sArray(1)
targetadspath = sArray(2)

'Wscript.echo targetadspath


Set objNewOU = GetObject("LDAP://" & targetadspath & "")


Set objMoveComputer = objNewOU.MoveHere("LDAP://CN=" & Computername & "," & ADSPath & ", " & """" & Computername & """")
Next
magsdtevAsked:
Who is Participating?
 
CetusMODConnect With a Mentor Commented:
PAQed, with points refunded (200)

CetusMOD
Community Support Moderator
0
 
tim_mcgueCommented:
This method takes two parameters.  See this article:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/netdir/adsi/iadscontainer_movehere.asp

It looks like you want to replace your second to last line with this:

Set objMoveComputer = objNewOU.MoveHere("LDAP://CN=" & Computername & "," & ADSPath, "CN=" & Computername)

or this:
Set objMoveComputer = objNewOU.MoveHere("LDAP://CN=" & Computername & "," & ADSPath, vbNullString)
0
 
magsdtevAuthor Commented:
Tim
Thanks for the response.  I tried the above with no sucess.  After alot of research I found that the below worked

Set oCmdArgs = CreateObject("MTP.CmdArgs")

oCmdArgs.FromCollection(wscript.Arguments)
chnglist2 = oCmdArgs(0).Text
oCmdArgs.Reset
Set oStream = CreateObject("Scripting.FilesystemObject").OpenTextFile(chnglist2)
oCmdArgs.FromStream(oStream)
'Gets the text file and parses it
For ix = 0 To (oCmdArgs.Count - 1)
'      Wscript.echo "Arg " & ix & ": " & oCmdArgs(ix).Text
      'parses the test file and assigns variables for each value
      sArray = Split(oCmdArgs(ix).Text, ";")      
      Computername = sArray(0)
      srcADSPath = sArray(1)
      targetadspath = sArray(2)

Set objNewOU = GetObject("LDAP://" & targetadspath)
Set objsrcOU = GetObject("LDAP://CN=" & Computername & "," & srcADSPath)

Wscript.echo Computername

'Set objMoveComputer = objNewOU.MoveHere("LDAP://CN=" & Computername & "," & ADSPath & ", CN=" & Computername)

objNewOU.MoveHere objsrcOU.ADsPath, objsrcOU.Name

Next
0
 
DanRollinsCommented:
magsdtev, an EE Moderator will handle this for you.
Moderator, my recommended disposition is:

    Refund points and save as a 0-pt PAQ.

Dan Rollins -- EE database cleanup volunteer
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.