bsharath
asked on
Code that moved AD users to specific OU. Can the same code be changed to move Contacts.
Hi,
Code that moved AD users to specific OU. Can the same code be changed to move Contacts.
Can anyone help me with this.
Regards
Sharath
Code that moved AD users to specific OU. Can the same code be changed to move Contacts.
Can anyone help me with this.
Regards
Sharath
:: SCRIPT START
@ECHO OFF
SETLOCAL EnableDelayedExpansion
:: Following variables required to be set with actual values
SET NewOU=TempOU
IF EXIST UserMoveRpt.txt DEL /F /Q UserMoveRpt.txt
ECHO %NewOU%|FIND /I "OU=">NUL
IF NOT ERRORLEVEL 1 (
DSQuery OU "%NewOU%" 2>NUL |FIND /I "OU=" >NUL
IF NOT ERRORLEVEL 1 (DSQuery OU "%NewOU%" >OUTmpVar.txt &SET /P OUDN=<OUTmpVar.txt
) ELSE (ECHO Invalid OU distinguished name. &Goto :EndScript)
)ELSE (
DSQuery OU -Name "%NewOU%" |FIND /I "OU=" >NUL
IF NOT ERRORLEVEL 1 (DSQuery OU -Name "%NewOU%" >OUTmpVar.txt &SET /P OUDN=<OUTmpVar.txt
)ELSE (ECHO Invalid OU Name. &Goto :EndScript)
)
FOR /F "delims=*" %%u IN ('TYPE UserIDs.txt') DO (
ECHO Processing: %%u
DSQuery User -samID "%%u" |Find /I "CN=" >NUL
IF NOT ErrorLevel 1 (
DSQuery User -samID "%%u" |DSMove -newparent !OUDN! >>UserMoveRpt.txt
)ELSE (ECHO *ERROR* '%%u' Not Found in Active Directory.))
ECHO.&ECHO Script complete. Check 'UserMoveRpt.txt' file.
:EndScript
IF EXIST OUTmpVar.txt DEL /F /Q OUTmpVar.txt
ENDLOCAL
EXIT /B 0
:: *** SCRIPT END ***
No, it can't, contacts are not stored in AD
Hi, see if this works. It should read contact ids from a file called ContactIDs.txt
Rob.
Rob.
:: SCRIPT START
@ECHO OFF
SETLOCAL EnableDelayedExpansion
:: Following variables required to be set with actual values
SET NewOU=TempOU
IF EXIST ContactMoveRpt.txt DEL /F /Q ContactMoveRpt.txt
ECHO %NewOU%|FIND /I "OU=">NUL
IF NOT ERRORLEVEL 1 (
DSQuery OU "%NewOU%" 2>NUL |FIND /I "OU=" >NUL
IF NOT ERRORLEVEL 1 (DSQuery OU "%NewOU%" >OUTmpVar.txt &SET /P OUDN=<OUTmpVar.txt
) ELSE (ECHO Invalid OU distinguished name. &Goto :EndScript)
)ELSE (
DSQuery OU -Name "%NewOU%" |FIND /I "OU=" >NUL
IF NOT ERRORLEVEL 1 (DSQuery OU -Name "%NewOU%" >OUTmpVar.txt &SET /P OUDN=<OUTmpVar.txt
)ELSE (ECHO Invalid OU Name. &Goto :EndScript)
)
FOR /F "delims=*" %%u IN ('TYPE ContactIDs.txt') DO (
ECHO Processing: %%u
DSQuery Contact -samID "%%u" |Find /I "CN=" >NUL
IF NOT ErrorLevel 1 (
DSQuery Contact -samID "%%u" |DSMove -newparent !OUDN! >>ContactMoveRpt.txt
)ELSE (ECHO *ERROR* '%%u' Not Found in Active Directory.))
ECHO.&ECHO Script complete. Check 'ContactMoveRpt.txt' file.
:EndScript
IF EXIST OUTmpVar.txt DEL /F /Q OUTmpVar.txt
ENDLOCAL
EXIT /B 0
:: *** SCRIPT END ***
ASKER
Thanks Rob
I get this
dsquery failed:`-samID' is an unknown parameter.
type dsquery /? for help.*ERROR* 'Abhishek Avi' Not Found in Active Directory.
Can we query by full name
I get this
dsquery failed:`-samID' is an unknown parameter.
type dsquery /? for help.*ERROR* 'Abhishek Avi' Not Found in Active Directory.
Can we query by full name
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks a lot Rob.. :-)
No problem. Thanks for the grade.
Regards,
Rob.
Regards,
Rob.
ASKER
ASKER
Rob can we have email id as the base to move them
ASKER
Hi Rob a related post please have a look
https://www.experts-exchange.com/questions/25499128/Code-tht-moves-contacts-need-a-change-to-take-Email-addresses-rather-than-Full-names.html
Please take time on my posts today... :-))
https://www.experts-exchange.com/questions/25499128/Code-tht-moves-contacts-need-a-change-to-take-Email-addresses-rather-than-Full-names.html
Please take time on my posts today... :-))