使用Winlogon组件诊断并解决GPO设置丢失问题

运维 系统运维
一个加入域的Windows客户端计算机可能不接收在活动目录域配置的所有组策略设置。因此,一些终端可能无法应用丢失的组策略对象设置,但是Winlogon可以帮助诊断并解决这个问题。

一个加入域的Windows客户端计算机可能不接收在活动目录域配置的所有组策略设置。因此,一些终端可能无法应用丢失的组策略对象设置,但是Winlogon可以帮助诊断并解决这个问题。

 

例如,活动目录管理员可能已经在组策略对象(GPO)中配置了要应用在Windows机器上的壁纸和无线设置。你注意到用户能***地接收壁纸设置,但无法通过GPO中的“无线网络(IEEE 802.11)策略”节点使用无线配置策略。桌面管理员必须找到组策略设置丢失的常见原因。

GPO架构中实现两种类型的组件:服务器端组件与客户端组件。服务器端组件包括组策略编辑器,活动目录管理员可以使用组策略编辑器配置GPO的设置。客户端组件在Windows客户端实现GPO的设置。客户端组件也被称为客户端扩展(CSE)。

Winlogon组件作为进程运行在Windows电脑上,处理GPO设置过程。在计算机启动时,Winlogon进程调用CSE处理GPO设置、用户登录和组策略刷新间隔。每个CSE都作为动态链接库(DLL)存在,并且每个CSE可以决定不执行GPO设置过程。

Winlogon如何知道哪个CSE负责处理GPO设置?

Windows注册表是一个巨大的信息储藏室。大多数应用和操作系统组件将Windows组件活动的必要信息存储到注册表数据库。

每个客户端扩展从Winlogon组件注册

每个客户端扩展从Winlogon组件注册

例如,当一台Windows电脑启动时,会检查页面文件在注册数据库中的位置,并在启动过程中将其初始化。同样的,在指示CSE DLL开始处理组策略设置之前,Winlogon进程使用注册表来确定该CSE的位置。

每个CSE在下列注册表主键位置:HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon\GPExtensions。

如上面的截图所示,GPO的“无线组策略”设置由“wlgpclnt.dll”DLL处理,将GUID分配给它。一些常见的CSE和GUID及其Dell名称如以下所示:

一些常见的CSE和GUID及其Dell名称

在处理和应用策略设置之前,客户端设备必须存在GPO节点相应的CSE DLL。例如,如果CSE DLL "Dskquota.dll"不存在或损坏,那么与Disk Quotas相关的GPO的设置不会被应用或进行相关处理。

Windows XP的CSE比Windows 8和Windows 7少。例如,Windows XP设备不知道如何处理与Drive Maps相关的设置,因为Windows XP设备中没有相关的CSE来处理GPO中“Drive Maps”节点的设置。

如果你需要Windows XP设备处理 "Drive Maps" 设置和***项设置,你必须下载并安装CSE。

计算机启动时启用CSE

如前所述,Winlogon进程触发CSE来处理GPO节点的策略设置。当电脑启动时,会发生以下事件:

  1. Windows客户端计算机加入一个活动目录域。
  2. 客户端验证活动目录域控制器。
  3. Winlogon进程调用本身并开始处理GPO每个节点的策略设置。
  4. Winlogon进程需要确定处理GPO节点设置的CSE。其确定CSE DLL在HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon\GPExtensions注册表的位置。Winlogon根据GUID确定CSE。
  5. Winlogon指示相应的CSE处理GPO设置。例如,对于“Administrative Templates”GPO节点,“userenv.dll”CSE负责对GPO中的"Administrative Templates" 节点执行相关处理并应用设置。同样,“Dskquota.dll”CSE负责处理GPO节点的“Disk Quota”策略设置。
  6. 注意:这里的GPO处理由单独的CSE负责。Winlogon的任务是指导CSE对GPO处理采取必要行动。
  7. CSE生成Event ID 4016,这表明CSE处理已经开始。
  8. 处理完成之后,Event ID 5016登录应用程序日志,表明CSE已经成功处理了GPO设置。
  9. 为了防止CSE处理过程中出现问题,Event ID 6016或7016将登录到Application Event Log来显示CSE处理过程中出现的问题。CSE处理可能会导致下面的警告或错误:
    • 上述注册表位置中的CSE或GUID丢失。
    • Winlogon可以找到GUID但不能获得CSE DLL的位置。
    • Winlogon无权访问上述注册表主键。
    • CSE DLL丢失或损坏。
    • 没有相应的CSE来处理GPO设置。

Winlogon进程使用注册表数据库确定CSE的位置来处理GPO节点设置。正如你所看到的,如果没有相应的CSE来处理GPO设置,或如果CSE DLL损坏,GPO节点的策略设置将不适用。这就是为什么Windows客户端可能会丢失一些GPO设置。

 

责任编辑:黄丹 来源: TechTarget中国
相关推荐

2010-02-04 11:38:27

ibmdwLotus

2012-09-06 13:47:55

2015-07-20 15:46:28

2013-05-24 08:56:23

VMware虚拟机数据包

2013-05-24 09:05:50

Linux虚拟机网络设置VMware网络设置

2022-07-14 14:27:34

Javascript数字精度二进制

2018-08-30 05:22:38

物联网运输IOT

2022-11-20 16:21:33

Linuxping 命令网络连接

2009-09-16 10:41:36

VMware ESX服

2023-06-09 12:59:52

Python性能分析

2011-08-11 15:23:04

iPhoneNSBundleXcode

2009-07-22 17:37:06

ASP.NET Ses

2017-09-22 09:50:27

数据库AWR报告性能

2021-01-18 08:06:38

Node.js 追踪JSON

2021-06-30 13:57:07

Arthas JVMTI

2012-10-31 10:47:05

VMware

2011-08-01 15:17:17

iPhone开发 证书 签名

2010-09-25 09:56:46

JVM最大内存

2022-08-29 18:14:55

MQ数据不丢失

2023-12-07 12:38:07

点赞
收藏

51CTO技术栈公众号