溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用腳本解決AD用戶批量操作問題

發(fā)布時間:2021-11-08 10:25:58 來源:億速云 閱讀:174 作者:小新 欄目:云計算

小編給大家分享一下如何使用腳本解決AD用戶批量操作問題,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

1.假設(shè)一個企業(yè)(DC為www.gr.com,以下相同)中有1000個用戶,其中包含了user字符的有100個用戶,它們分部在不同的OU中,如:IT,PM,MRP,ACC等等,現(xiàn)在我們新建了一個OU名稱為Sales,現(xiàn)在如何將這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.假設(shè)一個企業(yè)中有1000個用戶,其中有100個用戶屬于Sales組,它們分部在不同的OU中,如:IT,PM,MRP,ACC等等,現(xiàn)在我們新建了一個OU名稱為Sales,現(xiàn)在如何屬于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.假設(shè)一個企業(yè)新進100個職員,他們分別分配在IT,PM,MRP,ACC,Sales部門,現(xiàn)在如何批量建立這些用戶并設(shè)置他們所在的組和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"

總結(jié)上面幾個問題,我編寫了一個腳本,運用它我們可以簡單的來實現(xiàn)以上功能。

腳本如下,大家可以拷貝到記事本中并保存為cmd格式,你也可以下載我上傳的文件分別將其后綴改為cmd和csv,其中此腳本中我所用的測試DCwww.gr.com,請試驗時將腳本中相應(yīng)部分更改為你自己的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 已成功導(dǎo)出所匹配的用戶信息。
echo ---------------------------

goto C

:B
dsget group "cn=%groupname%,cn=users,dc=www,dc=gr,dc=com" -members >>user.txt
echo.
echo ----------------------------------
echo 已成功導(dǎo)出%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 已成功創(chuàng)建%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用戶批量操作問題”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI