由於工作的需要,我們要在 AD 中增加一個屬性叫「員工編號」,並設定每一位員工的編號在裡面,但 AD 中預設並沒有此一屬性,若要修改 AD Schema 會是一件大工程,老闆不同意,IT也不想這樣做!
這幾天無意間在 ADSIEdit 工具中找到「employeeID」&「employeeNumber」兩個屬性[附圖],但在 AD使用者及電腦 或 LDP 的工具中都看不到這兩個屬性(我嘗試用網路上找的 ldap browser 也看不到),只好透過 ADSIEdit 修改了某個帳號的 employeeID 測試,但當某Service要試著用 LDAP 方式以該 employeeID 的值來做驗證時卻是失敗的(用 SAMAccountName 正常),老闆要求用員工編號做LDAP驗證。
想請教高手以下問題: 網路(Technet)上找不到!
以上,懇請高手們幫忙解惑,先行致謝!
至於程式查不到? 那要看您的程式是怎麼寫的? LDAP Query 怎麼下?
另一個微軟沒有刻意隱藏這個屬性的證據, 是 70-640 的認證考試.
在歷次的考試題庫裡面, 就有一題曾經問過跟 employeeNumber 相關的操作, 因此, 曾經研讀過 70-640 內容的人, 應該都會知道有這個屬性的存在.
感謝 Ray 老師, 這樣算找到這兩個屬性, 但輸入 employeeID 的值後卻驗證失敗就不知是何原因了? 至於 employeeNumber 我要再試試看..
做 LDAP Authentication 是 OA複合機, 現在都是為了要控管 user & 部門的複印與傳真, 為了 user 驗證的方便性, 用員工編號來輸入是最不易招致反彈的! 當然, 用員工卡刷卡或感應更好, 但成本較高...
employeeID 可能比較少見; 但是有很多 LDAP 設備都可以使用 employeeNumber 來向 AD 進行認證, 像 Cisco Unity Connection, Cisco Cucimoc....只不過, 各種設備要認證的時候, AD 這邊需要配合的設定方式也都不同.
另外有很多用 Java 寫的 LDAP 認證, 也都可以使用 employeeNumber.
像 Cisco Cucimoc, 他便要求 employeeNumber 必須出現在 AD 的 Global Catalog 裡面, 但是 AD 本身的預設安裝, 是不會把 employeeNumber 寫入 GC 的, 所以必須手動修改 AD Schema 才能被認證.
但是其他的系統, 例如: AllardSoft, 他卻要求, User 的 Email ID 必須與 employeeNumber 相同, 例如: employeeNumber=12345, 那麼查詢到的 Email ID 也要等於 12345@<domain>, 這樣才會認證成功.
ScrumWorks 則是要求 User 必須要在 inetOrgPerson 這個 objectClass 裡面才可以被認證.
所以各家的認證方法不盡相同, 必須同時與兩邊的工程師討論 (Microsoft + 第三方設備), 才能找出正確設定 GC 或是修改 Schema 的方法. 這個問題通常需要請 OA 複合機的廠商協助.
AD Schema 裡面還有兩個常用 Attribute: uidNumber 和 gidNumber, 常被用在與 Unix 系統或 AS400 之間互相認證的時候使用.
感覺上,是~有這些功能,要用卻很難.......
我也是用sAMAccountName驗證用戶的帳號密碼將全錄的複合機掛在網上使用,可能我建帳號的時候本來就是以員工編號當作帳號,所以沒有你的困擾
Ray 老師:
我照您上面截圖的方式在 ADUC 內勾選了「Advanced Features」,但進入到使用者屬性內卻看不到您第二張圖內的那些「增加的tabs」,不知是您有另外設定什麼或者我公司的 AD GPO 被國外母公司套了什麼policy,或者是 server 版本的問題?
我雖屬於 Domain Admins,但權限只是被委派到台灣的 OU,台灣的 user 屬性可以更改,但連 台灣所屬 OU 的名稱都不能變更!
AD & DC 皆為 Windows Server 2003 + SP2
tom6507提到:
我建帳號的時候本來就是以員工編號當作帳號
狐狸不愧是狐狸,您真是有遠見,可惜大部分的 IT 人都不願意為了某個廠商去變動既有的東西...
tom6507提到:
我建帳號的時候本來就是以員工編號當作帳號
24601...有你的訪客
是阿,正如狐狸的設定,敝公司現在也是這樣玩,事務機整合員工編號,並加以記錄,現在身為業務的我不能再亂印了,印多了會被管理部"關心。
9567您這個月印太多了,業績又不好,公司決定扣薪一千,以敬效尤。
五年五百億的案子不都全拿下來了嗎?
補充:
我剛看了 http://www.sovelto.fi/Ratkaisut/AD%20Attribute%20Editor/Pages/default.aspx/ 的內容,並在我另一個測試的 DC 上執行,但我還是無法在 ADUC 內看到那些進階的屬性,「regsvr32 ADAttrEd.dll」也做了,還是看不到,這個測試環境確定是沒有任何GPO之類的...
另外一個蘇老碎碎念提供的 http://www.windowsitpro.com/article/john-savills-windows-faqs/how-can-i-add-employee-ids-and-employee-numbers-to-active-directory- 也看了,但還沒試過!
現在,不知到底要怎麼弄?!
有關於LDAP相問題推薦這一個網站,有很多資料可以參考。
http://www.rlmueller.net/WinNT_LDAP.htm
感謝N大的回答,但內容對我的問題來說,幫助不大..
But, WinNT... 已經蠻遙遠的了,也算溫故知新一下,呵~
fran633提到:
WinNT
都適用。不只是WinNT,不要被標題騙了!
fran633提到:
但進入到使用者屬性內卻看不到您第二張圖內的那些「增加的tabs」
有可能被鎖....請直接用 ADSI Editor 進去看看:
ADSI Connection 請用 Default 值:
找到 User 的 CN 之後, 按右鍵選內容就可以看到一樣的東西:
如果您在 ADSI 裡面也看不到的話, 那明顯是被鎖權限了. 因為 Domain Admin 的權限其實很小, 而且很容易被鎖. 如果有可能的話, 請把自己加入 Enterprise Admin 以及 Schema Admin 群組試試看....(不過這兩個權限超級大, 頂層管理員不太可能下放)
Ray 老師:
我在公司的 AD 上用 ADSI 試可以看得到有這些屬性,做了相關的設定後,在 ADUC 內還是沒看到增加的Tab,這很可能是權限問題;但我在另一台獨立的2003AD(自己測試Lab用,無任何GPO)上使用DC的Administrator(預設的最大權限)也做了相關設定,還是看不到!而且,就算ADSI看得到,要一個一個帳號改?
難道除了 ADSIEDIT 之外,就沒有其他方式可以直接整批修改 USER 的這些屬性(employeeID..)嗎?
fran633提到:
難道除了 ADSIEDIT 之外,就沒有其他方式可以直接整批修改 USER 的這些屬性(employeeID..)嗎?
有啊, 整批改請用微軟提供的 ldifde 工具, 把要改的屬性寫成一個文字檔, 餵給他就好了...
(這又是 70-640 的考題之一.....)
Your network contains an Active Directory forest. The forest schema contains a custom attribute for user objects. You need to modify the custom attribute value of 500 user accounts. Which tool should you use?
A. Csvde
B. Dsmod
C. Dsrm
D. Ldifde
fran633提到:
但我在另一台獨立的2003AD(自己測試Lab用,無任何GPO)上使用DC的Administrator(預設的最大權限)也做了相關設定,還是看不到
喔, 你一開始又沒說是 2003.....我上面說的全部都是 Server 2008 R2....
(70-640 也是考 Server 2008, 不是 2003)
微軟已經通知所有合作夥伴, Server 2003 自去年 7 月開始, 停止提供主流支援, 所以自今年以來, 如果沒有特別指名的話, 我們都習慣直接以 Server 2008 (R2) 當成討論版本....
真的要沒事就上來爬爬文 我摸了很久的AD 都還不知道有這兩個屬性
開卷有益