使用AdsiEdit工具查看GC數據

        閱讀前請參考:
        深入理解全局編錄服務器([url]http://alligator.blog.51cto.com/36993/101190[/url])
 
        全局編錄服務器並不是一個獨立的實體,域控制器也沒有單獨爲GC準備一個獨立的DIT文件,GC服務器與當前的域公用同一個NTDS.DIT文件,兩者的區別只是使用的端口號不同,前者使用3268端口,後者使用389端口。理解了這一點,也就理解了如何來查看GC數據。
         AdsiEdit工具是一個超級強大的AD查看與編輯工具,我們可以使用這個工具做一些其它工具無法實現的功能。
         比如本文準備闡述的查看全局編錄服務器中的數據等。
         爲了更好的說明如何使用AdsiEdit工具查看GC數據,先介紹一下當前的演示環境:
         兩個域,父域爲Superlan.Com,子域爲Sub.Superlan.Com,其中Superlan.Com域中有一臺DC(PriDomDemo.Superlan.Com),
         同時擔任GC角色,子域中有一臺DC(SubDomDemo.Sub.Superlan.Com),非GC。
         域結構如下:            
        
 
          因PriDomDemo.Superlan.Com爲父域DC,同時又爲GC,所以在PriDomDemo AD數據庫中,應該包含有子域Sub.Superlan.Com數據。
          那麼如何在PriDomDemo中查看子域數據,同時驗證GC相關的概念,比如
          GC是森林中所有對象的只讀調整緩衝存儲器
          包含有子域所有對象的部分屬性。
          自定義對象的哪些屬性保存的GC中,同時決定該屬性是否可以進行索引等等。
         
          本文利用AdsiEdit工具,分別連接GC以及Sub.Superlan.Com域,通過比較標準的Sub域數據與保存在GC中Sub域數據,就上述問題做深入闡述!
          具體操作如下
          一:使用AdsiEdit查看AD數據
             1:連接到GC服務器
                在AdsiEdit中,連接到GC服務器很簡單,唯一需要注意的是,需要在“高級”中指定使用Global Catalog協議
                具體如下:
                    在“運行”窗口輸入“AdsiEdit.msc",打開AdsiEdit編輯器。
                    選中"AdsiEdit",右鍵選擇”Connect to“   
                    
 
                    在"Connection Setting"彈出框,輸入相應的名稱上下文
                    
 
                    輸入名稱上下文後,打開"Advanced "按鈕,選擇”Global Catalog"協議
                     
 

                    選擇兩次OK按鈕,確定輸入無誤後,就可以正確連接到GC服務器
             2:新建一個連接到Sub.Superlan.Com域
                操作與連接到GC步驟類似,保留“Advanced"中默認的LDAP協議
               
 
              建立好上述兩個連接後,AdsiEdit工具窗口中存在兩個連接,分別是GC服務器數據和Sub子域數據。  
              
 
              從上圖我們可以看出,在GC服務器數據中,有一個“DC=Sub”容器。
              展開該容器後,我們可以看到該容器中所包含的信息與Sub子域數據完全相同
 
              
 
              從上圖我們也可以看出,GC中確實保存着林中其它域的所有對象
 
          二:驗證GC是林中所有對象的只讀存儲器
              任意展開GC中容器中任意對象的任意屬性,點擊“Edit"按鈕,都可以看到, 所有的屬性都是處於ReadOnly狀態,無法進行修改。
 
             
 
               而在非GC連接中,可以直接進行修改編輯,從中我們可以看出不論是對於當前域,還是非本地域,GC中保存的都只是對象的只讀副本。

          三:驗證GC中只包含林中其它域所有對象的部分屬性
              爲驗證這個結論,在Sub子域新建一個OU:User Demo,其中建立有一個用戶:itTrainer.分別在GC服務器和Sub子域中查看該對象屬性,我們可以看出,GC中該對象有值的屬性比Sub子域中該對象有值的屬性少得多。GC中只保留有系統屬性以及明確指出保存在GC中的屬性。 而Sub子域中會保存該對象的所有屬性值。
             
          四:如何自定義哪些屬性保存在GC中
              要自定義哪些屬性保存在GC中,需要使用AD架構管理單元。
              注意,默認情況下,只有父域的Administrator屬於架構管理組,而子域管理員不屬於該管理組。
            
              1:註冊AD架構管理單元
                 步驟:註冊:regsvr32 schmmgmt
                           在MMC中添加AD架構管理單元
                           打開MMC控制檯,選中“Active Directory架構”,點擊“屬性”,在右側內容欄列出當前域架構中存在所有屬性。
                         
              2:自定義屬性保存在GC中
                  選擇任一個屬性,右鍵選擇”屬性“,在彈出的”屬性編輯器“中,可以自定義該屬性是否保存在GC中, 同時也可以決定該屬性在GC中是否編制索引,以提高搜索性能。
                  
 

    因爲篇幅關係,本文不再演示如何自定義某個屬性是否存在到GC。
    有興趣的朋友可以試着將某一個屬性自定義爲保存在GC中,同時建立某個對象,在該對象中對這個屬性賦值,在GC中檢查是否存在該屬性值。甚至於可以通過架構管理單元取消某個默認保存到GC中的某個屬性,然後通過GC檢查該屬性是否仍然保存在GC中。
    相信通過相應的操作,一定會對GC相關的概念有更深入的理解!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章