批量移动AD用户到指定OU
作為域管理員,在日常工作中使用ADUC(AD用戶和計(jì)算機(jī))工具在圖形界面中進(jìn)行賬號(hào)管理操作可謂是家常便飯了。然而一個(gè)個(gè)增加、移動(dòng)、刪除用戶,這樣操作有時(shí)真的夠煩,當(dāng)管理大批量的賬戶時(shí),重復(fù)操作浪費(fèi)的時(shí)間會(huì)很多很對(duì)。記得在前兩年寫(xiě)過(guò)幾篇關(guān)于如何批量創(chuàng)建組織單位OU、AD域用戶賬戶、郵件通訊組以及啟用用戶Exchange郵箱的文章,這些特別適用于在企業(yè)組織環(huán)境中白手起家新建域控、郵件等服務(wù)器的IT環(huán)境。
而對(duì)于企業(yè)組織中具有完善的IT基礎(chǔ)架構(gòu)的環(huán)境,有時(shí)也是需要進(jìn)行大批量的AD用戶操作的,比如AD中基于部門的組織單位OU,當(dāng)趕上公司組織架構(gòu)大變動(dòng),就需要隨之調(diào)整,如果一個(gè)個(gè)手動(dòng)操作,動(dòng)輒幾千個(gè)賬戶,對(duì)于域管理員來(lái)說(shuō),那將是個(gè)很苦逼的重復(fù)勞動(dòng)。。。當(dāng)然有人會(huì)提到整合HR系統(tǒng)和AD系統(tǒng),這樣就不需要重復(fù)操作,多次維護(hù)了。但是就國(guó)內(nèi)來(lái)說(shuō),企業(yè)信息化建設(shè)到這種層度的公司屈指可數(shù)啊,并且這種HR系統(tǒng)價(jià)格不菲!
拿我所在的公司來(lái)說(shuō),每年都有組織架構(gòu)的頻繁變動(dòng),IT人員除了平時(shí)基于HR的信息進(jìn)行調(diào)整外,每年年底還要基于HR信息進(jìn)行一次徹底的大調(diào)整,以滿足日常辦公中Exchange郵件和Lync通訊簿中呈現(xiàn)出準(zhǔn)確的信息。在我到公司之前據(jù)說(shuō)每次調(diào)整都是好幾個(gè)IT人員用花費(fèi)幾周的時(shí)間來(lái)共同完成。現(xiàn)在俺當(dāng)然不能再采用這么土鱉的方法來(lái)調(diào)整了。。。怎么著咱也是MVP啊,O(∩_∩)O哈哈~
下面言歸正傳吧,來(lái)看看如何批量實(shí)現(xiàn)移動(dòng)用戶吧?
開(kāi)始之前還是先要感謝以下兩位博主,我這篇文章是在他們基礎(chǔ)之上完成的
《一個(gè)腳本解決AD用戶批量操作問(wèn)題》
http://lqlaps169.blog.51cto.com/855319/384176
《批量修改AD賬戶與屬性》
http://blog.csdn.net/xuhuojun/article/details/6795648
下面開(kāi)始具體操作:
1、HR信息獲取
前面我們提到,我們的AD架構(gòu)調(diào)整是基于HR的組織架構(gòu)及人事信息的,所以首先我們會(huì)從HR處拿到一張Excel表格,類似下圖,包含姓名、公司、部門、郵箱等信息。
其中主要用到一下兩項(xiàng)信息:
部門信息 用于我們AD中組織單位OU的劃分
郵箱信息 用于和我們AD中的現(xiàn)有用戶信息進(jìn)行匹配
注:之所以不使用姓名是因?yàn)樯婕暗街孛?#xff0c;一般來(lái)說(shuō)AD中的姓名和HR的姓名不具有唯一性。
2、AD中用戶信息導(dǎo)出
AD中現(xiàn)有用戶信息的導(dǎo)出我借鑒的是《批量修改AD賬戶與屬性》一文中的方式,再次感謝作者!http://blog.csdn.net/xuhuojun/article/details/6795648
這是一個(gè)vbs腳本,執(zhí)行后會(huì)導(dǎo)出ad中用戶的N多屬性值,這里我們用不著這么多的屬性值,所以對(duì)腳本稍加修改,只需導(dǎo)出顯示名、郵箱、sAMAccount、DN(distinguishedName)等信息。
執(zhí)行語(yǔ)句:
cscript C:\exportUserProfile.vbs
注:在64位的Windows Server 2008 R2環(huán)境下,需要以管理員權(quán)限打開(kāi)cmd,并進(jìn)入C:\Windows\SysWOW64\ 目錄;命令執(zhí)行計(jì)算機(jī)上還需要安裝Excel 應(yīng)用程序;
腳本執(zhí)行完成后會(huì)輸出結(jié)果到c:\temp\MyExport.xls
3、信息比對(duì)及匹配
接下來(lái)要做的就是將HR的Excel表格和我們導(dǎo)出的Excel表格(MyExport.xls)信息進(jìn)行比對(duì)及匹配。
我們能夠看到HR的Excel表格和導(dǎo)出的Excel表格具有相同的mail郵箱這一列,下面我們要使用Excel強(qiáng)大的VLOOKUP函數(shù),用HR的Excel表格中mail信息去我們導(dǎo)出的Excel表格(MyExport.xls)中查詢出對(duì)應(yīng)的DN(distinguishedName)值,并填充到HR的Excel表格中。
DN(distinguishedName)值就是我們后面進(jìn)行批量操作的關(guān)鍵
關(guān)于VLOOKUP函數(shù)可以參考下面鏈接,或者直接Google或者百度一下
http://office.microsoft.com/zh-cn/excel-help/vlookup-HP005209335.aspx
VLOOKUP比對(duì)匹配完成后的結(jié)果如下:
注:
“#N/A” 表示兩張Excel表格中的數(shù)據(jù)沒(méi)有相同的,一般是HR提供的郵箱錯(cuò)誤或者和我們AD中的郵箱不一致導(dǎo)致的,這種一般我們可以根據(jù)其他信息手動(dòng)查詢出正確的DN值并補(bǔ)全。
局部放大截圖:
完成后復(fù)制表格DN(distinguishedName)值列,并保存為txt文本文件。這里我們保存至D:\user.txt中。
到這里大家應(yīng)該看明白了,查詢到的DN(distinguishedName)值其實(shí)就是AD用戶現(xiàn)在所在的組織單位OU信息。
4、執(zhí)行批量移動(dòng)OU
這里我借鑒的是《一個(gè)腳本解決AD用戶批量操作問(wèn)題》一文中的方式,再次感謝作者!
http://lqlaps169.blog.51cto.com/855319/384176
執(zhí)行語(yǔ)句:
for /f %i in (d:\user.txt) do dsmove %i -newparent ou=xxx,ou=xxx,dc=xxx,dc=com >>d:\log.txt
for的作用就是從user.txt中獲取目標(biāo)信息
Dsmove –newparent 指定對(duì)象應(yīng)移動(dòng)到的新位置的 DN值
>>d:\log.txt 將命令執(zhí)行結(jié)果輸出到d:\log.txt,方便查詢命令執(zhí)行結(jié)果及排錯(cuò)
命令執(zhí)行結(jié)果:
查看輸出log文件:
ADUC中查看被移動(dòng)的用戶:
這樣我們就完成了AD用戶的批量移動(dòng)OU操作。在這里提醒大家,這種操作畢竟涉及線上生產(chǎn)環(huán)境,所以盡量按照部門分批次移動(dòng)操作,并且做好在非工作時(shí)間進(jìn)行。
其實(shí)用戶組織單位OU的調(diào)整只是第一步,接下來(lái)還需要進(jìn)行部門通訊組及成員調(diào)整,不過(guò)這個(gè)完全可以由郵箱地址直接批量添加,簡(jiǎn)單方便很多。
另外調(diào)整OU后,AD用戶屬性(如:公司、部門、經(jīng)理等等)的調(diào)整也可以按照文章《批量修改AD賬戶與屬性》的方法來(lái)批量操作完成。這里就不在重復(fù)了
本文轉(zhuǎn)自liang_simon51CTO博客,原文鏈接:http://blog.51cto.com/shubao??? ,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的批量移动AD用户到指定OU的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 梦到狗咬自己的手是什么意思
- 下一篇: mysql本地连接错误解决办法