扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在Windows 2000里面可以使用secedit/refreshpolicy machine_policy或secedit /refreshpolicy user_policy命令强制刷新,在Windows XP或Windows 2003使用gpresult /force强制刷新。如果新做的设置没有能够生效,不妨考虑一下是否为刷新时间间隔问题。
组策略常规排错法
如果您平时是按照以上建议做的,结果组策略的某些设置还是没有按照预期生效,我们就需要做排错处理了。
1.首先,确保客户端拿到了相关的策略。比如,希望域内所有的计算机不要显示上次登录的用户名以确保安全,可是在所有的用户端都没有生效,说明这条策略很有可能客户端就没有拿到。从Gpresult或者是组策略结果集,可以知道客户端拿到了哪些策略。前者是命令行模式,后者是图形界面,功能都是相同的。下面介绍组策略结果集的使用。
(1)打开gpmc.msc,单击组策略结果收集向导,选择是本机还是远程计算机,选择为哪一个 用户显示最终结果,我们就可以查看结果了(如图2)。
在“组策略对象→应用的策略”中,我们能够看到出问题的客户端应用了哪些GPO,没有应用哪些GPO,如果某一条组策略没有被应用,那么设置必定没有生效,因为计算机根本就没有拿到这个策略。
正如案例中所述的那个问题(希望域内所有的计算机不要显示上次登录的用户名以确保安全,可惜在所有的用户端都没有生效),后来在随机的客户端运行 gpresult,结果发现,为计算机设置的不显示上次登录的用户名策略(当时命名为Do not Display last logon name)根本就没有应用到客户端,自然策略不会生效。
2.如果网络里面有多台域控制器,要确保多台域控制器的策略保持一致,检查方法是运行 gpotool(需要安装Windows Resource Kit工具包)。
Validating DCs...Available DCs:mic-technet.dc.micSearching for policies...Found 4 policiesPolicy {31B2F340-016D-11D2-945F-00C04FB984F9}Friendly name: Default Domain PolicyPolicy OK==========================================================Policy {6AC1786C-016F-11D2-945F-00C04FB984F9}Friendly name: Default Domain Controllers PolicyPolicy OK==========================================================Policy {90BD780C-D2E8-44CB-97B8-80B343852457}Friendly name: Do not display logon namePolicy OK==========================================================Policy {CC2C8E4F-FA55-4824-AC75-0122494DCC31}Friendly name: userPolicy OK==========================================================Policies OK
这是一次运行gpotool的结果,当然,笔者这里只是一个虚拟环境,只有一台域控制器,读者可以拿出问题的日志与正常日志进行比对,便会发现问题所在。设想,如果有两台域控制器它们之间的复制又出了问题,那么意味着每个域控制器的组策略不统一了,自然客户端在应用时会发生问题。
3.检查组策略对象是否在AD中和Sysvol中,而且GUID是否与正确的GPO相关联。
(1)查看组策略的GUID。
(2)用Search.vbs检查LDAP协议正确性,GPO和GUID是否为真正意义的对应。
Search.vbs是Windows 2003安装光盘Support\Tools\ Support.cab下的一个脚本工具,可以将GPO名称解析为GUID。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。