zoukankan      html  css  js  c++  java
  • 使用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相关的概念有更深入的理解!
  • 相关阅读:
    LeetCode 123. Best Time to Buy and Sell Stock III (stock problem)
    精帖转载(关于stock problem)
    LeetCode 122. Best Time to Buy and Sell Stock II (stock problem)
    LeetCode 121. Best Time to Buy and Sell Stock (stock problem)
    LeetCode 120. Triangle
    基于docker 搭建Elasticsearch5.6.4 分布式集群
    从零开始构建一个centos+jdk7+tomcat7的docker镜像文件
    Harbor实现容器镜像仓库的管理和运维
    docker中制作自己的JDK+tomcat镜像
    docker镜像制作---jdk7+tomcat7基础镜像
  • 原文地址:https://www.cnblogs.com/jjkv3/p/1434152.html
Copyright © 2011-2022 走看看