• 使用AdsiEdit工具查看GC数据


    阅读前请参考:
            深入理解全局编录服务器(http://alligator.blog.51cto.com/36993/101190)
     
            全局编录服务器并不是一个独立的实体,域控制器也没有单独为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相关的概念有更深入的理解!
  • 相关阅读:
    浅析几种常用坐标系和坐标转换
    windows live message 无法安装
    解决英文版XP下的PL/SQL Developer的中文乱码问题
    C# static 用法
    用plsql登陆oracle,创建用户赋予权限
    Silverlight Map 技术点总结
    【OCP12c】CUUG 071题库考试原题及答案解析(20)
    【OCP12c】CUUG 071题库考试原题及答案解析(15)
    【OCP12c】CUUG 071题库考试原题及答案解析(14)
    【OCP12c】CUUG 071题库考试原题及答案解析(17)
  • 原文地址:https://www.cnblogs.com/jjkv3/p/1434152.html
Copyright © 2020-2023  润新知