使用AdsiEdit工具查看GC数据

摘要:
AdsiEdit工具是一个超级强大的广告查看和编辑工具。我们可以使用这个工具来实现其他工具无法实现的一些功能。为了更好地解释如何使用AdsiEdit工具查看GC数据,首先介绍当前的演示环境:两个域,父域是Superlan。Com,子域是Sub.Superlan.Com。Superlan中有一个DC。Com域,它也扮演GC的角色。子域中有一个DC,它不是GC。本文使用AdsiEdit工具分别连接GC和Sub.Superan.Com域。通过将标准子域数据与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。
         域结构如下:            
         使用AdsiEdit工具查看GC数据第1张
 
          因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“   
                     使用AdsiEdit工具查看GC数据第2张
 
                    在"Connection Setting"弹出框,输入相应的名称上下文
                     使用AdsiEdit工具查看GC数据第3张
 
                    输入名称上下文后,打开"Advanced "按钮,选择”Global Catalog"协议
                     使用AdsiEdit工具查看GC数据第4张
 

                    选择两次OK按钮,确定输入无误后,就可以正确连接到GC服务器
             2:新建一个连接到Sub.Superlan.Com域
                操作与连接到GC步骤类似,保留“Advanced"中默认的LDAP协议
                使用AdsiEdit工具查看GC数据第5张
 
              建立好上述两个连接后,AdsiEdit工具窗口中存在两个连接,分别是GC服务器数据和Sub子域数据。  
               使用AdsiEdit工具查看GC数据第6张
 
              从上图我们可以看出,在GC服务器数据中,有一个“DC=Sub”容器。
              展开该容器后,我们可以看到该容器中所包含的信息与Sub子域数据完全相同
 
               使用AdsiEdit工具查看GC数据第7张
 
              从上图我们也可以看出,GC中确实保存着林中其它域的所有对象
 
          二:验证GC是林中所有对象的只读存储器
              任意展开GC中容器中任意对象的任意属性,点击“Edit"按钮,都可以看到, 所有的属性都是处于ReadOnly状态,无法进行修改。
 
              使用AdsiEdit工具查看GC数据第8张
 
               而在非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架构”,点击“属性”,在右侧内容栏列出当前域架构中存在所有属性。
                          使用AdsiEdit工具查看GC数据第9张
              2:自定义属性保存在GC中
                  选择任一个属性,右键选择”属性“,在弹出的”属性编辑器“中,可以自定义该属性是否保存在GC中, 同时也可以决定该属性在GC中是否编制索引,以提高搜索性能。
                   使用AdsiEdit工具查看GC数据第10张
 

    因为篇幅关系,本文不再演示如何自定义某个属性是否存在到GC。
    有兴趣的朋友可以试着将某一个属性自定义为保存在GC中,同时建立某个对象,在该对象中对这个属性赋值,在GC中检查是否存在该属性值。甚至于可以通过架构管理单元取消某个默认保存到GC中的某个属性,然后通过GC检查该属性是否仍然保存在GC中。
    相信通过相应的操作,一定会对GC相关的概念有更深入的理解!

免责声明:文章转载自《使用AdsiEdit工具查看GC数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python基础知识C#winform的textbox怎么设置滚动条下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

第四章 软件架构演化

第一节 软件架构定义及演化 分层架构 ·“关注点分离”原则 ·软件系统的组件被分成多个相互不重叠的层次,每一层都有着特定的职能,仅处理本层的逻辑,而并不关心其它层的实现。 ·表现层 ·业务层 ·持久层 ·数据层 ·分层架构模式特点: +结构简单 +易于组织开发 +便于独立测试、维护 -不易实现特续发布、部署 -性能代价 -可扩展性差 面向服务架构...

DDD—企业数字化转型和中台建设

一、数字化转型 数字化转型是企业能力全面体系化,系统化,数据化提升的过程,这种提升包括了技术能力,业务能力,组织架构合理性等多方面的提升。 而随着多年来海量高频业务的发展,技术也在推动着持续进步,并且越来越多的技术方案趋向成熟,类似于阿里巴巴,腾讯,美团等,所有业务都已上云,并且在整套分布式架构上,无论是流量控制层,还是微服务治理上,都有了自己成熟的解决方...

【原创】公司各个阶段 CTO 需要做什么?(上篇)

CTO 是企业内技术最高负责人,对企业的发展起到至关重要的作用。但随着公司的不断发展,CTO 的工作重心也会不断变化。只有在正确的阶段做正确的事,才能更好地为公司做出贡献。我是空中金融 CTO ,TGO 鲲鹏会上海分会会员。加入空中金融之前,我曾在饿了么、空中网、5173 等互联网公司担任中层技术管理者,有过三次从 0( 或 0.5 )开始的创业公司工作经...

【大话存储】多CPU架构变迁, SMP,NUMA,MPP

多CPU架构演进 对称多处理器结构:(SMP,Symmetric Multi-Processor) 服务器最开始的时候是单CPU,然后才进化到了双CPU甚至多CPU的SMP架构。所谓SMP架构指的是多路CPU无主次,共享内存、总线、操作系统等。此时每个CPU访问内存任何地址所耗费的时间是相等的。所以也称为一致存储器访问结构 大家共享同样的内存,所以扩展能力...

Activiti7体系架构

一.Activiti7体系架构 通过加载activiti.cfg.xml文件得到ProcessEngineConfiguration对象,通过ProcessEngineConfiguration对象可以得到ProcessEngine对象 得到该对象后,可以通过流程引擎对象ProcessEngine来得到各种Service,每一种Service接口有每个用途...

创建以Microsoft .NET Remoting为基础的分布式应用架构

在论坛里经常看见有人问:使用.NET Remoting如何从服务器主动发出事件通知客户端?的确,初接触.NET Remoting的人多半会有这样的疑问,因为大部分的文章和书籍在介绍.NET Remoting时都只介绍了通道,对象,激活和生存周期等等概念,在谈到如何进行远程通信的时候,都只告诉读者如何从客户端激活一个服务器对象然后传递参数调用其方法。所以很多...