巧用Excel函式,簡化批量匯入AD使用者及密碼修改

2021-05-08 14:08:07 字數 1695 閱讀 8213

相信大家如果用ad的話,都碰見過一些頭疼的事情,特別是ad使用者的一攤子事情。前段時間在弄全球的ad規劃和部署,其中最耗時又不討好的就是使用者賬號的問題了。其中最主要的就是兩件事,乙個是新建使用者,乙個是改密碼。

由於業務系統在海外上線,需要通過ad進行身份驗證,使得以前僅僅只面向集團總部一部分管理層員工的ad系統,現在需要面向企業全球的所有員工提供登陸服務,從而就需要向ad中新增大量的使用者賬戶。另外,也有不少分公司的員工之前是有ad賬號的,只不過人不在總部,偶爾回來用用。這也導致了大量的使用者密碼過期。

通過人工的方式乙個乙個賬戶的新增或者改密碼,顯然是不可能的。所以找了個辦法,通過指令碼的方式批量的匯入ad賬戶,或者批量修改密碼。其實方法應該不少朋友都知道,就是windows自帶的幾個cmd命令。這裡我就不再過多介紹這如何通過這兩個命令編輯指令碼來實現這個功能了,如果真有需要,大家可以google一下,很多的。我這裡就給兩個微軟官方鏈結算了。

—— csvde.exe,批量匯入ad使用者

—— dsmod.exe,修改ad賬戶密碼

這裡我是想給大家分享一下如何通過excel的函式功能來簡化指令碼的編寫。有人可能會問,直接用txt寫也挺方便的嘛,關excel屁事。呵呵。。。試想,動不動幾百上千的使用者需要更改密碼或者新增到ad中,就算可以用複製貼上的方式,但是每行賬戶的資訊都不一樣,那要複製多少遍啊。

我也是開始就是用的txt寫,把所有的不同的名字先copy到txt中,然後把語句相同的地方每行乙個ctrl+v,如此反覆多次,我就快瘋掉噠。。。

後來想了個辦法,就是用excel的函式來解決。嘿嘿,,它不止能做數字計算,還能做字元的加減咧。。好,附件中有我已經做好的excel檔案,下面我來詳細講講怎麼用。

首先是批量匯入ad賬戶。在檔案的第一張**中,綠色的區域是需要我們手動添填入資訊的,主要是兩個,乙個是賬戶名,乙個是ou,記得ou一定要提前新建好。其他區域的地方都是寫死的,或者自動生成的。然後我們只需要將藍色區域的字元內容copy到乙個txt檔案中,然後用「@」替換掉所有的「#」。另外,還需要將值定義的那一排放到txt檔案的首排。這樣,csvde.exe所需要呼叫的文字,就製作完成了。

這裡再提一點,我們的資料**往往都是hr部門或者相關經過整理的資料,所以絕大多數,都會是一行乙個名字。弄不好還直接就是excel的,所以我們可以直接copy到這個excel裡面。這樣,連乙個乙個敲名字都不用了。總共下來,從接到任務,到使用者新增完畢,不管使用者數量幾何,兩分鐘就能搞定。是不是很爽啊??

第二個是修改密碼。在檔案的第二張表中,沒有需要輸入的地方,如果我們需要修改使用者的密碼,我們還是將使用者名稱和ou填入到表一的綠色區域內。然後將表二中的藍色區域字元,copy到txt檔案中。需要注意的是,我們需要將「-pwd」前面的那個逗號「,」用替換的方式一次性全部去掉。然後將這個txt文字的字尾改為.bat。然後直接執行即可。

這裡需要明白的一點是,bat檔案中其實就是寫的cmd命令,所以我們也可以將某一條資料在cmd中單獨執行。這裡我覺得寫到乙個bat檔案中,最終效果其實相當於在cmd中執行多次命令,這樣的話,就不需要我們手動一條一條的執行了。不過也有個問題,就是如果使用者量特別大時,也就是bat裡面執行的次數非常多時,執行的過程會持續乙個相對較長的時間。但無論如何,儘管如此,它都能大幅度提高我們的工作效率。

以上就是這段時間在實際工作中總結的一點小小的經驗。

如果朋友們有更有效的方法,歡迎交流!

巧用Excel函式,簡化批量匯入AD使用者及密碼修改

相信大家如果用ad的話,都碰見過一些頭疼的事情,特別是ad使用者的一攤子事情。前段時間在弄全球的ad規劃和部署,其中最耗時又不討好的就是使用者賬號的問題了。其中最主要的就是兩件事,乙個是新建使用者,乙個是改密碼。由於業務系統在海外上線,需要通過ad進行身份驗證,使得以前僅僅只面向集團總部一部分管理層...

用Excel函式簡化批量匯入AD使用者及修改密碼

近期公司的ad和exchange專案如預期的進展還不錯,趕上ad使用者的批量匯入,5k使用者,工作量很大哦,還好無意間看到一篇blog,講借助excel函式簡化 的輸入操作,試用了下還不錯,修改後分享給大家,增加 操作哦,原blog是沒有的哦。廢話不多說轉入正題。通過指令碼的方式批量的匯入ad賬戶,...

java批量匯入Excel

util包 public class excelhelp catch exception ex for int numsheet 0 numsheet workbook.getnumberofsheets numsheet 迴圈行row for int rownum 1 rownum sheet.g...