批量移動AD用戶到指定OU

作為域管理員,在日常工作中使用ADUC(AD用戶和計算機)工具在圖形界面中進行賬號管理操作可謂是家常便飯了。然而一個個增加、移動、刪除用戶,這樣操作有時真的夠煩,當管理大批量的賬戶時,重復操作浪費的時間會很多很對。記得在前兩年寫過幾篇關于如何批量創建組織單位OU、AD域用戶賬戶、郵件通訊組以及啟用用戶Exchange郵箱的文章,這些特別適用于在企業組織環境中白手起家新建域控、郵件等服務器的IT環境。

而對于企業組織中具有完善的IT基礎架構的環境,有時也是需要進行大批量的AD用戶操作的,比如AD中基于部門的組織單位OU,當趕上公司組織架構大變動,就需要隨之調整,如果一個個手動操作,動輒幾千個賬戶,對于域管理員來說,那將是個很苦逼的重復勞動。。。當然有人會提到整合HR系統和AD系統,這樣就不需要重復操作,多次維護了。但是就國內來說,企業信息化建設到這種層度的公司屈指可數啊,并且這種HR系統價格不菲!

拿我所在的公司來說,每年都有組織架構的頻繁變動,IT人員除了平時基于HR的信息進行調整外,每年年底還要基于HR信息進行一次徹底的大調整,以滿足日常辦公中Exchange郵件和Lync通訊簿中呈現出準確的信息。在我到公司之前據說每次調整都是好幾個IT人員用花費幾周的時間來共同完成。現在俺當然不能再采用這么土鱉的方法來調整了。。。怎么著咱也是MVP啊,O(∩_∩)O哈哈~

下面言歸正傳吧,來看看如何批量實現移動用戶吧?

開始之前還是先要感謝以下兩位博主,我這篇文章是在他們基礎之上完成的

《一個腳本解決AD用戶批量操作問題》

http://lqlaps169.blog.51cto.com/855319/384176

《批量修改AD賬戶與屬性》

http://blog.csdn.net/xuhuojun/article/details/6795648

下面開始具體操作:

1、HR信息獲取

前面我們提到,我們的AD架構調整是基于HR的組織架構及人事信息的,所以首先我們會從HR處拿到一張Excel表格,類似下圖,包含姓名、公司、部門、郵箱等信息。

其中主要用到一下兩項信息:

部門信息 用于我們AD中組織單位OU的劃分

郵箱信息 用于和我們AD中的現有用戶信息進行匹配

注:之所以不使用姓名是因為涉及到重名,一般來說AD中的姓名和HR的姓名不具有唯一性。

clip_image002

2、AD中用戶信息導出

AD中現有用戶信息的導出我借鑒的是《批量修改AD賬戶與屬性》一文中的方式,再次感謝作者!http://blog.csdn.net/xuhuojun/article/details/6795648

clip_image004

這是一個vbs腳本,執行后會導出ad中用戶的N多屬性值,這里我們用不著這么多的屬性值,所以對腳本稍加修改,只需導出顯示名、郵箱、sAMAccount、DN(distinguishedName)等信息。

執行語句:

cscript C:\exportUserProfile.vbs

注:在64位的Windows Server 2008 R2環境下,需要以管理員權限打開cmd,并進入C:\Windows\SysWOW64\ 目錄;命令執行計算機上還需要安裝Excel 應用程序;

clip_image006

腳本執行完成后會輸出結果到c:\temp\MyExport.xls

clip_image007

3、信息比對及匹配

接下來要做的就是將HR的Excel表格和我們導出的Excel表格(MyExport.xls)信息進行比對及匹配。

我們能夠看到HR的Excel表格和導出的Excel表格具有相同的mail郵箱這一列,下面我們要使用Excel強大的VLOOKUP函數,用HR的Excel表格中mail信息去我們導出的Excel表格(MyExport.xls)中查詢出對應的DN(distinguishedName)值,并填充到HR的Excel表格中。

DN(distinguishedName)值就是我們后面進行批量操作的關鍵

關于VLOOKUP函數可以參考下面鏈接,或者直接Google或者百度一下

http://office.microsoft.com/zh-cn/excel-help/vlookup-HP005209335.aspx

VLOOKUP比對匹配完成后的結果如下:

clip_image009

注:

“#N/A” 表示兩張Excel表格中的數據沒有相同的,一般是HR提供的郵箱錯誤或者和我們AD中的郵箱不一致導致的,這種一般我們可以根據其他信息手動查詢出正確的DN值并補全。

局部放大截圖:

clip_image011

完成后復制表格DN(distinguishedName)值列,并保存為txt文本文件。這里我們保存至D:\user.txt中。

到這里大家應該看明白了,查詢到的DN(distinguishedName)值其實就是AD用戶現在所在的組織單位OU信息。

clip_image013

4、執行批量移動OU

這里我借鑒的是《一個腳本解決AD用戶批量操作問題》一文中的方式,再次感謝作者!

http://lqlaps169.blog.51cto.com/855319/384176

clip_image015

執行語句:

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中獲取目標信息

Dsmove –newparent 指定對象應移動到的新位置的 DN值

>>d:\log.txt 將命令執行結果輸出到d:\log.txt,方便查詢命令執行結果及排錯

命令執行結果:

clip_image017

查看輸出log文件:

clip_image019

ADUC中查看被移動的用戶:

clip_image021

這樣我們就完成了AD用戶的批量移動OU操作。在這里提醒大家,這種操作畢竟涉及線上生產環境,所以盡量按照部門分批次移動操作,并且做好在非工作時間進行。

其實用戶組織單位OU的調整只是第一步,接下來還需要進行部門通訊組及成員調整,不過這個完全可以由郵箱地址直接批量添加,簡單方便很多。

另外調整OU后,AD用戶屬性(如:公司、部門、經理等等)的調整也可以按照文章《批量修改AD賬戶與屬性》的方法來批量操作完成。這里就不在重復了




本文轉自liang_simon51CTO博客,原文鏈接:http://blog.51cto.com/shubao??? ,如需轉載請自行聯系原作者

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393398.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393398.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393398.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vs 編譯說明

靜態編譯/MT,/MTD 是指使用libc和msvc相關的靜態庫(lib)。動態編譯,/MD,/MDd是指用相應的DLL版本編譯。其中字母含義 d:debug m:multi-threading(多線程) t:text代碼 d:dynamic(動態)…

python numeric_Python pandas.to_numeric函數方法的使用

pandas.to_numeric(arg, errorsraise, downcastNone) [source]將參數轉換為數字類型。默認返回dtype為float64或int64, 具體取決于提供的數據。使用downcast參數獲取其他dtype。請注意,如果傳入非常大的數字,則可能會導致精度損失。由…

javascript 分號_讓我們談談JavaScript中的分號

javascript 分號要使用它們,還是不使用它們… (To use them, or not to use them…) Semicolons in JavaScript divide the community. Some prefer to use them always, no matter what. Others like to avoid them.JavaScript中的分號分隔社區。 有些人更喜歡始終…

leetcode436. 尋找右區間(二分法)

給定一組區間,對于每一個區間 i,檢查是否存在一個區間 j,它的起始點大于或等于區間 i 的終點,這可以稱為 j 在 i 的“右側”。 對于任何區間,你需要存儲的滿足條件的區間 j 的最小索引,這意味著區間 j 有最…

python篇第6天【數據類型】

Python有五個標準的數據類型:Numbers(數字)String(字符串)List(列表)Tuple(元組)Dictionary(字典)Python數字數字數據類型用于存儲數值。他們是不…

如何確定Ionic是否適合您的項目

by Simon Grimm西蒙格里姆(Simon Grimm) 如何確定Ionic是否適合您的項目 (How to find out if Ionic is the right choice for your project) Ionic has been around for quite some years. With the latest release of version 4, it has become an even better option for d…

二維數組的查找 java_查找二維數組java的總和

我正在一個項目中,我必須讀取文件并將內容輸入2D數組。然后,我必須對每一行,每一列和矩陣的周長求和。到目前為止,除外圍功能外,我一切正常。我正在嘗試為兩個外部列的頂行,底行和中間創建單獨的for循環。矩…

遞歸法解決兔子問題

記得以前過相似問題,今天有同事問道,竟然不知所答,故寫篇文章以記之。 一般而言,兔子在出生兩個月后,就有繁殖能力,一對兔子每個月能生出一對小兔子來。如果所有兔子都不死,那么若干月以后可以繁…

mysql本地連接錯誤解決辦法

今天公司同事在測試服務器上死活不能用一個賬號在本地登陸,但是遠程就可以,于是我幫忙看了下,測試服務器的IP是10.10.2.226,錯誤如下:linux-0fdr:/home1/mysql_data # mysql -h 10.10.2.226 -u jxq2 -pjxq2ERROR 1045 (28000): Access denied for user jxq2linux-0fdr (using p…

leetcode546. 移除盒子(dp)

給出一些不同顏色的盒子,盒子的顏色由數字表示,即不同的數字表示不同的顏色。 你將經過若干輪操作去去掉盒子,直到所有的盒子都去掉為止。每一輪你可以移除具有相同顏色的連續 k 個盒子(k > 1),這樣一輪…

408. Valid Word Abbreviation

題目: Given a non-empty string s and an abbreviation abbr, return whether the string matches with the given abbreviation. A string such as "word" contains only the following valid abbreviations: ["word", "1ord", &qu…

oracle常用操作指令

登錄oracle用戶: sqlplus 用戶名/密碼 創建用戶:create user 要創建的用戶名 identified by 當前用戶名; 授權:grant resource,connect to 要授權的用戶名; 刪除用戶:drop user 用戶名 創建表: create table student( id n…

java接收二進制數據_java-從套接字讀取二進制數據

我正在嘗試連接到服務器,然后向其發送HTTP請求(在這種情況下為GET).這個想法是請求一個文件,然后從服務器接收它.它應同時適用于文本文件和二進制文件(例如imgs).我對文本文件沒有任何問題,它可以完美工作,但是對二進制文件有一些麻煩.首先,我聲明一個BufferedReader(用于讀取標…

web開發入門_Web開發人員和設計師的自由職業入門

web開發入門Learn how to get started with freelancing as a web developer and designer. Cara Bell shares lessons and tips she has learned from her years as a freelancer.了解如何以網絡開發人員和設計師的身份開始自由職業。 卡拉貝爾(Cara Bell)分享了她從自由職業者…

leetcode1343. 大小為 K 且平均值大于等于閾值的子數組數目(隊列)

給你一個整數數組 arr 和兩個整數 k 和 threshold 。 請你返回長度為 k 且平均值大于等于 threshold 的子數組數目。 示例 1: 輸入:arr [2,2,2,2,5,5,5,8], k 3, threshold 4 輸出:3 解釋:子數組 [2,5,5],[5,5,5] 和 [5,5,8…

二分查找遞歸和非遞歸方法分析

遞歸實現: 自己寫的遞歸:多一個賦值操作,雖然可以得到正確的結果。但是比較難以理解。 問題:沒有深刻理解遞歸返回值。return會在遞歸調用到最后,在遞歸結束的地方,會將返回值一層一層返回給方法&#xff0…

BaseYii_autoload

BaseYii_autoload 判斷是否是classMap還是命名空間的 然后 轉換成 絕對路徑 include 文件  public static function autoload($className){      //classMap 一般都是類庫 官方 或者自定義類映射 if (isset(static::$classMap[$className])) {$classFile static::$cla…

sasl java_javaSASL_SSL帳號密碼方式訪問kafka

java SASL_SSL帳號密碼 方式訪問 kafkaProducer Java Sample java生產者:Properties props new Properties();props.put("bootstrap.servers","*******:9092,*******:9092");props.put("acks", "all");//props.put("retries&quo…

RedHat5.2下Linux Oracle 10g ASM 安裝詳細實錄-第二篇-ASM安裝

五、安裝ASM 1、在oracle網站下載支持包:http://www.oracle.com/technology ... x/asmlib/rhel5.html 2、根據linux內核下載相應的asm安裝包:根據uname –a查看內核(黃底紅字為內核):$ uname -aLinux L-DB-3-6 2.6.18-92.el5 #1 S…

心理學專業轉用戶體驗_用心理學設計奇妙的用戶體驗

心理學專業轉用戶體驗We are all influenced by the world around us and by how our minds work. Designers need to be able to understand this and design for it.我們所有人都受到周圍世界以及我們思維方式的影響。 設計師需要能夠理解這一點并為此進行設計。 In this ta…