天天看点

活动目录系列之十四:实战SYSVOL文件夹共享丢失后的修复

    活动目录系列其实已经结束,但最近我在一次偶然的实验环境下,发现SYSVOL和NETLOGON两个共享文件夹突然丢失,想到这是在做了某些误操作所致,于是在这里把该系列再补上一篇,算是收尾吧。

    描述一下事情发生的全过程:

我搭建了一个双站点的父子域环境,其中北京站点是有一台根DC,n1.net.com,上海站点有第二台根DC,n2.net.com,同时还有一个子域DC,n3.net.com。如下图所示:

    我在做完站点的相关实验后,故意将上海站点的两台DC全部离线,然后把北京站点DC的一个用户jack和一个OU名为HR(里面有几个用户)删除,当然之前已经把AD做了备份,而且备份中包含用户jack,我用了命令repadmin  /showmeta  cn=jack,ou=sails,dc=net,dc=com >c:\jack.txt和repadmin  /showmeta  ou=HR,dc=net,dc=com >c:\HR.txt,把jack用户相关属性的版本信息及OU的相应版本信息保存来了,然后我把DC重启,按F8进入目录还原模式,要验证“授权还原”对用户及OU的版本的变化情况。

    进行“目录恢复模式”后,先进行正常还原,再进行授权还原,然后重启DC,成功登录后(发现有些慢,并没在意),然后我进入CMD,先把DC上有关上海站点的信息删除,输入ntdsutil,大致如下操作:

ntdsutil:

:meta clea

:conn

:con to server n1.net.com

:quit

:sele oper target

:....后面省略,各位可以参见我以前的活动目录系列有此命令的详细说明。

清理干净后,退到C盘根目录,我输入:

c:\> repadmin  /showmeta  cn=jack,ou=sails,dc=net,dc=com >c:\jack1.txt

c:\> repadmin  /showmeta  ou=HR,dc=net,dc=com >c:\HR1.txt

c:\>repadmin  /showmeta  cn=alice,ou=HR,dc=net,dc=com>c:\alice.txt

经过验证用户jack属性的版本值全部增加100000次,如下图是前后的比较:

而对于OU也是增加了十万次,OU里的所有用户也都恢复了,ver值也增加了十万次。不再图示,实验验证完毕。

    打开dsa.msc想看一下用户是否恢复,发现联系不上域,手动联系,成功,于时重启DC,再次登录,这次这台DC应该是独立干净的DC,想必应该登录较快,而且不会有问题。但情况并不见好转,登录比较慢,登录成功后,运行dsa.msc,还是联系不上域,只能手动联系。打开eventvwr.msc查看日志发现可能SYSVOL共享文件夹丢失,于是查看本机,确实SYSVOL和NETLOGON全部丢失,怪不得,必须进行修复。

    用过AD的朋友都知道,我们在安装AD时有一个文件夹就是SYSVOL,而这个文件夹必须共享,这里面放的就是组策略模板,即组策略的具体设置,如果这个文件夹没有共享或丢失,那我们的域就不健康了,换句话说,组策略就加载不了了,在这种情况下,客户端登录域会很慢甚至登录不了。而DC当然也是一样的。

    NETLOGON里面放的是脚本,这个文件夹也必须共享。没有办法,我们只能进行修复。

    为什么会丢失?怀疑是进行授权还原造成的,或进行ntdsutil修复DC造成,总之我是进行这两项操作所为,查看文件夹还存在,万幸,手动共享重启,发现不成功,只能通过修改注册表实现,如下所示操作步骤:

一、打开DC的注册表编辑器(regedit),修改键值如下:

修改后,关闭注册表。

二、重启相关服务:如下图

三、查看共享,发现已经成功

四、重启DC。

查看事件查看器,正常。

再利用dcdiag /a /v 来查看有无大的错误,无碍,问题解决。

后记:其实今天我写这篇文档,也是想写一下解决问题的思路,各位如果没有真实的生产环境,完全可以自己模拟环境,搞坏实验环境,然后再修复,直至域环境健康。

本文转自 jary3000 51CTO博客,原文链接:http://blog.51cto.com/jary3000/143648,如需转载请自行联系原作者

继续阅读