ADドメイン制御一括移行ユーザーを指定ou中部門へ


次のコードを123にコピーします.txtファイルでは、接尾辞名を123に変更する.bat、保存ディレクトリは任意の場所です
その中で主に、私のここのドメインコントロールはabcdで、対応するドメインコントロールの名前を修正する必要があります、またouも対応するOUの部門に指定します
@echo off
::  
cls

::     ,    C 
cd \
c:

::    cmd     A,         
:A
::echo.        
echo.

::   if exist         ,    ,               
if exist user.txt ( del user.txt )
if exist log.txt ( del log.txt )
if exist name.txt ( del name.txt )

echo -------------------------------------------------
echo *******             OU   ********
echo -------------------------------------------------
echo.
echo 【1】             ,      "1"  ,   OU  。
echo 【2】            ,      C:
ame.txt, , "2" echo. :: user.txt echo off > user.txt :: cmd B, :B :: ,name  , name_cn  1,  set /p name= : set name_cn=1 :: 1, C, if %name%==1 (goto C) if %name%==2 (for /f "delims=" %%i in (name.txt) do (dsquery user -name %%i >> user.txt)) &goto C ::for , name_cn, delims (for , ) :: :  -samid  , , , , for /f "delims=" %%i in ('dsquery user -samid %name%') do (set name_cn=%%i ) ::for , , B, for /f "delims=" %%i in (user.txt) do (if %name_cn%==%%i (echo  , 。 &echo. &goto B)) ::if  , AD  , , , user.txt , B , if %name_cn%==1 (echo  , 。&echo. &goto B)  else (dsquery user -name %name% >> user.txt &echo %name_cn% &echo. &goto B) :: cmd C, :C echo. echo ------------------------------------------------------------ echo ************ ********************** echo  , "" , echo  , "2" , echo ------------------------------------------------------------ echo. :: cmd D, :D :: bumen , bumen_cn ==1% set /p bumen= : set bumen_cn=1 :: , 2, , ::ou=ALL, , ,dc=abcd , dc=XXX,dc=com,XXX if %bumen%==2 (dsquery ou ou=ALL,dc=abcd,dc=com -o rdn & echo. &goto D) :: ou , bumen_cn for /f "delims=" %%i in ('dsquery ou -name %bumen%') do (set bumen_cn=%%i) :: , OU, E if %bumen_cn%==1 (echo  , 。&echo. &goto D) else (echo %bumen_cn% &goto E) :E echo. echo -------------------------------------------------------- echo ********* , *************** echo 【1】 echo 【2】 , echo 【3】 echo -------------------------------------------------------- echo. :: select % set /p select= : :: if , 1 , , ou, c:\log.txt , F :: ,if for , for , , for F , if %select%==1 (for /f "delims=" %%i in (user.txt) do (dsmove %%i -newparent %bumen_cn% >> log.txt)) &goto F if %select%==2 (echo. &goto D) if %select%==3 (echo. &goto B) echo " , 。"  &goto E :F echo. echo ------------------------------------------------------------- echo ********** , c:\log.txt 。************* echo 【1】 , echo 【2】 echo ------------------------------------------------------------- echo. :: num, set /p num= : if %num%==1 (goto A) if %num%==2 (goto Z) echo " , 。"  &goto F :Z :: cmd , pause echo on