您好,登錄后才能下訂單哦!
小編給大家分享一下如何使用腳本解決AD用戶批量操作問題,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
1.假設一個企業(DC為www.gr.com,以下相同)中有1000個用戶,其中包含了user字符的有100個用戶,它們分部在不同的OU中,如:IT,PM,MRP,ACC等等,現在我們新建了一個OU名稱為Sales,現在如何將這100個用戶從其它的OU中移至Sales這個OU?
解答:
dsquery user –name *user* >>c:\user.txt
for /f %i in (c:\user.txt) do dsmove %i -newparent ou=Sales,dc=www,dc=gr,dc=com
2.假設一個企業中有1000個用戶,其中有100個用戶屬于Sales組,它們分部在不同的OU中,如:IT,PM,MRP,ACC等等,現在我們新建了一個OU名稱為Sales,現在如何屬于Sales組的這些用戶從其它的OU中移至Sales這個OU?
解答:
dsget group "cn=Sales,cn=users,dc=www,dc=gr,dc=com" -members >>c:\user.txt
for /f %i in (c:\user.txt) do dsmove %i -newparent ou=Sales,dc=www,dc=gr,dc=com
3.假設一個企業新進100個職員,他們分別分配在IT,PM,MRP,ACC,Sales部門,現在如何批量建立這些用戶并設置他們所在的組和OU?
解答:
首先建立一個c:\userlist.csv,格式如下:
henGong,ACC,p@ssw0rd
ChengYuanZhi,IT,p@ssw0rd
ChengPu,MRP,p@ssw0rd
FOR /F "eol=; tokens=1,2,3* delims=, " %a in (c:\userlist.csv) do dsadd user "cn=%a,ou=%b,dc=www,dc=gr,dc=com" -pwd %c -samid %a -upn %a@www.gr.com
4.時間長了,由于職員離職等原因,在AD中被禁用的用戶越來越多,而且他們分部在不同的OU中,如何將這些被禁用的用戶批量的刪除掉呢?
解答:
dsquery user -disabled >>c:\user.txt
for /f %i in (c:\user.txt) do dsrm -noprompt -c "%i"
總結上面幾個問題,我編寫了一個腳本,運用它我們可以簡單的來實現以上功能。
腳本如下,大家可以拷貝到記事本中并保存為cmd格式,你也可以下載我上傳的文件分別將其后綴改為cmd和csv,其中此腳本中我所用的測試DC為www.gr.com,請試驗時將腳本中相應部分更改為你自己的DC。
@echo off
cls
cd\
c:
echo.
echo -------------------------------------------
echo 此腳本用于更改AD用戶所在的OU及批量建立用戶.
echo -------------------------------------------
echo.
echo 【1】批量更改用戶至新OU
echo 【2】將同一組用戶更改至新OU
echo 【3】批量建立用戶
echo 【4】批量刪除被禁用用戶
echo -------------------------------------------
echo.
set /p select=請在菜單中選擇:
if "%select%"=="1" set /p username=請輸入所需查找用戶(可使用匹配符): &goto A
if "%select%"=="2" set /p groupname=請輸入所需查找組名: &goto B
if "%select%"=="3" goto D
if "%select%"=="4" goto E
:A
dsquery user -name %username% >>user.txt
echo.
echo ---------------------------
echo 已成功導出所匹配的用戶信息。
echo ---------------------------
goto C
:B
dsget group "cn=%groupname%,cn=users,dc=www,dc=gr,dc=com" -members >>user.txt
echo.
echo ----------------------------------
echo 已成功導出%groupname%組的用戶信息。
echo ----------------------------------
goto C
:C
echo.
set /p ouname=請輸入用戶所需更新到的OU:
for /f %%i in (user.txt) do dsmove %%i -newparent ou=%ouname%,dc=www,dc=gr,dc=com
echo.
echo ----------------------------------------
echo 已成功更新用戶到 %ouname% OU中,謝謝使用。
echo ----------------------------------------
echo.
goto Z
:D
set /p userpath=請輸入用戶列表文件路徑(c:\userlist.csv):
FOR /F "eol=; tokens=1,2,3* delims=, " %%a in (%userpath%) do dsadd user "cn=%%a,ou=%%b,dc=www,dc=gr,dc=com" -pwd %%c -samid %%a -upn %%a@www.gr.com
echo.
echo ----------------------------------------------------
echo 已成功創建%userpath%列表中的用戶,謝謝使用。
echo ----------------------------------------------------
echo.
goto Z
:E
set /p select=請確定刪除被禁用用戶嗎?(y/n):
if "%select%"=="y" goto F
if "%select%"=="n" goto Z
:F
dsquery user -disabled >>user.txt
for /f %%i in (user.txt) do dsrm -noprompt -c "%%i"
echo.
echo -------------------------------
echo 已成功刪除被禁用用戶,謝謝使用。
echo -------------------------------
echo.
:Z
del user.txt
pause
echo on
看完了這篇文章,相信你對“如何使用腳本解決AD用戶批量操作問題”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。