
批處理批量配置windowsad求助
- @Echo off
- setlocal
- echo 當前時間:%date% %time% >>C:UsersAdministratorDesktopadlog.txt
- set domainname=ldap.com
- set Userpassword=1qaz!QAZ
- set OuName=huawei
- echo 此腳本用于批量建立用戶.
- echo 使用同目錄下users.csv作為輸入數據。
- :Start
- for /f eol=; tokens=1,2,3,4,5,6 delims=. %%a in (%domainname%) do set ldapname1=%%a&set ldapname2=%%b&set ldapname3=%%c&set ldapname4=%%d&set ldapname5=%%e&set ldapname6=%%f
- set domain=dc=%ldapname1%,dc=%ldapname2%,dc=%ldapname3%,dc=%ldapname4%,dc=%ldapname5%,dc=%ldapname6%
- if DEFINED ldapname1 set ldap=dc=%ldapname1%
- if DEFINED ldapname2 set ldap=%ldap%,dc=%ldapname2%
- if DEFINED ldapname3 set ldap=%ldap%,dc=%ldapname3%
- if DEFINED ldapname4 set ldap=%ldap%,dc=%ldapname4%
- if DEFINED ldapname5 set ldap=%ldap%,dc=%ldapname5%
- if DEFINED ldapname6 set ldap=%ldap%,dc=%ldapname6%
- Rem echo DomainName: %domainname%
- Rem echo LdapName: %ldap%
- Echo DEL user:
- FOR /F eol=; tokens=1,2,3,4,5,6,7,8,9,10,* delims=, %%a in (usersadd.csv) do dsquery user -samid *%%e| dsrm -noprompt -c>>C:UsersAdministratorDesktopadlog.txt
- FOR /F eol=; tokens=1,2,3,4,5,6,7,8,9,10,* delims=, %%a in (usersadd.csv) do dsquery user cn=%%c,ou=%%b,ou=%%a,ou=%OuName%,%ldap%| dsrm -noprompt -c>>C:UsersAdministratorDesktopadlog.txt
- Echo ADD user:
- FOR /F eol=; tokens=1,2,3,4,5,6,7,8,9,10,* delims=, %%a in (usersadd.csv) do dsadd user cn=%%c,ou=%%b,ou=%%a,ou=%OuName%,%ldap% -samid %%j -upn %%j@%domainname% -display %%c -mi %%i -pwd %Userpassword% -tel %%e -title %%d -dept %%f -mobile %%g -iptel %%h -company %%b>>C:UsersAdministratorDesktopadlog.txt
- :DisplayInfo
- echo.
- echo.
- if %errorlevel% EQU -2147019886 echo 用戶已存在,不能重復建立.&echo.&pause&goto end
- if %errorlevel% NEQ 0 echo 建立用戶失敗.&echo.&pause&goto end
- if %errorlevel% EQU 0 echo 建立用戶成功.&echo.&pause>>C:UsersAdministratorDesktopadlog.txt
- reg add hklmSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon /v DefaultDomainName /t REG_SZ /d %domainname% /f >nul
- :end
- rem echo %errorlevel% &pause
- cls
- endlocal
- echo on
nclick="copycode($('code0'));">復制代碼
大佬們,我這個BAT是來操作Windows AD,AD用來做IP話機的通訊錄 ,當電話號碼使用者改變時候,用這個BAT來處理。按照變更信息的號碼先查找一遍,如果有這個號碼記錄就刪除,然后增加;查找的時候如果沒有記錄也增加。現在在del user 這一步遇到了問題,一但變更信息中有空格字段就查找報錯,直接執行后面的刪除動作了。會一直在刪除,會把所有OU的記錄全刪除掉現有3個問題求助:1、在刪除這一步能不能加個判斷,查找報錯了就不執行dsrm刪除操作,,這個問題首要最重要2、日志輸出的問題,我在每個步驟后面做了追加輸出到adlog.txt>>C:UsersAdministratorDesktopadlog.txt這個可以保存刪除和增加的信息,但是刪除和增加的時候在cmd窗口看不到,輸出到后面adlog.txt里面,當前cmd窗口看不到刪除和增加的內容3、BAT處理能不能優化一下。需要變更的信息,如下例:總部人事部馬民經理5555人事部null5555mmmamin5555總部財務部姜昱竹職員5431財務部null5431jyzjiangyuzhu5431北京技術部劉澤群主管106661技術部null106661lzqliuzequn106661上海客服部張煜焓一級客服213332客服部null213332zyhzhangyuhan213332adlog.txt的內容請按任意鍵繼續. . . 當前時間:-12-05 10:27:55.53 dsadd 成功:cn=馬民,ou=人事部,ou=總部,ou=huawei,dc=ldap,dc=comdsadd 成功:cn=姜昱竹,ou=財務部,ou=總部,ou=huawei,dc=ldap,dc=comdsadd 成功:cn=劉澤群,ou=技術部,ou=北京,ou=huawei,dc=ldap,dc=comdsadd 成功:cn=張煜焓,ou=客服部,ou=上海,ou=huawei,dc=ldap,dc=com請按任意鍵繼續. . . 當前時間:-12-05 14:38:12.31 dsrm 成功:CN=馬民,OU=人事部,OU=總部,OU=huawei,DC=ldap,DC=comdsrm 成功:CN=姜昱竹,OU=財務部,OU=總部,OU=huawei,DC=ldap,DC=comdsrm 成功:CN=劉澤群,OU=技術部,OU=北京,OU=huawei,DC=ldap,DC=com當前時間:-12-05 14:38:32.78 dsrm 成功:CN=張煜焓,OU=客服部,OU=上海,OU=huawei,DC=ldap,DC=comdsadd 成功:cn=馬民,ou=人事部,ou=總部,ou=huawei,dc=ldap,dc=comdsadd 成功:cn=姜昱竹,ou=財務部,ou=總部,ou=huawei,dc=ldap,dc=comdsadd 成功:cn=劉澤群,ou=技術部,ou=北京,ou=huawei,dc=ldap,dc=comdsadd 成功:cn=張煜焓,ou=客服部,ou=上海,ou=huawei,dc=ldap,dc=com請按任意鍵繼續. . .