Active Directory 中的自定義屬性 - 確定使用/功能和可能的刪除選項?
我遇到了一個高度定制的 Active Directory 環境(2003 FL),這讓我想知道是否有任何特別簡單的方法可以確定自定義屬性的功能是什麼,以及“使用”該特定屬性是什麼(如果有的話)。然後可能是從模式中刪除自定義屬性的一些好的選擇。除了恢復或從頭開始。如果存在這樣的選項。
例如,我認為我可以相當確定值為 TRUE 的“isDumbass”屬性是什麼意思,但對於“IRPextCONST”而言,包含的值為 393684 的意義不大。同樣,我認為它應該是相當安全的刪除“isDumbass”屬性,但希望 a) 確定 b) 找出正在查詢或更新該值的內容,因為我懷疑使用該屬性的任何內容都可能是要刪除的內容列表中的下一個。理想情況下,當然,無需對每個自定義腳本的內容和原始碼進行搜尋,我就可以獲得我的手。
最後,除了從頭開始重建,或者從不存在的備份中進行權威的 AD 恢復……有沒有辦法刪除給定的自定義屬性?(不是空白值,而是實際上從模式中刪除屬性 - 有些人寧願沒有屬性,如
$$ redacted $$閒逛。)我已經能夠在 Windows 2k 上找到並成功測試一種方法,但似乎 Microsoft 在 SP4 中禁用了此選項,並且有問題的域是 2003 功能級別。
至於查找使用屬性的內容,我認為您最好的希望是通過在域控制器 GPO 的審核配置中啟用它的設置,以及設置激進的審核 ACL 以在整個過程中繼承來對目錄服務訪問事件進行一些相當嚴格的日誌記錄域。日誌可能會變得非常嘈雜。
如果可能的話,2008 年新的目錄服務審計功能可能會在這個過程中提供很大的幫助;如果可以,請獲得 2008 域控制器!
當您準備好擺脫這些架構修改時 - 不幸的是,沒有辦法真正清除架構修改的所有記憶體,但您至少可以停止使用它並使其看起來被刪除。
您將修改模式中的屬性對象,使其
isDefunct
值為TRUE
; 這可以通過 ADSIEdit 或 Active Directory 架構管理單元來完成。有關詳細資訊,請參閱本文件的“從架構中刪除資訊”部分。如果您不能 100% 確定某個屬性已不再使用,則可以嘗試使其失效;
isDefunct
您可以通過設置回來撤銷更改FALSE
(重新啟動時舊值仍然存在)。如果可能的話,一定要先走審計路徑,但選擇就在那裡。