文章编号: 887303 - 最后修改: 2007年2月8日 - 修订: 4.2 应用组策略导致运行 Windows Server 2003、Windows XP 或 Windows 2000 的计算机上发生 Userenv 错误和事件重要说明:本文包含有关如何修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和修改注册表的更多信息,请单击下面的文章编号,以查看
Microsoft 知识库中相应的文章: 256986?
(http://support.microsoft.com/kb/256986/
)
Microsoft Windows 注册表说明 本页概要如果将组策略应用到网络上的计算机,您可能会遇到一个或多个错误和事件。要确定发生问题的原因,您必须对网络上的计算机的配置进行故障排除。请按照下列步骤排查发生问题的原因:
症状在运行 Microsoft Windows Server 2003、Microsoft Windows XP 或
Microsoft Windows 2000 的计算机上,您会遇到以下的一种或多种症状:
类型: 错误 来源: Userenv 类别: 无 事件 ID: 1058 日期: Date 时间: Time 用户: User_Name 计算机: Computer_Name 描述:Windows 无法访问 GPO CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=domainname,DC=com 的文件 gpt.ini。此文件必须在 <\\domainname.com\sysvol\domainname.com\Policies\{31B2F340-016D-11D2-945F-00C04FB984 F9}\gpt.ini>。(Error_Message)。组策略处理中止。 有关更多信息,请参阅在 http://support.microsoft.com 的帮助和支持中心。
类型: 错误 来源: Userenv 类别: 无 事件 ID: 1030 日期: Date 时间: Time 用户: User_Name 计算机: Computer_Name 描述:Windows 不能查询组策略对象列表。描述此问题的原因的消息先前被策略引擎记录。 有关更多信息,请参阅在 http://support.microsoft.com 的帮助和支持中心。 在基于 Windows 2000 的计算机上的事件查看器中查看应用程序日志时,将看到与以下事件类似的事件: 类型: 错误 来源: Userenv 类别: 无 事件 ID: 1000 日期: Date 时间: Time 用户: NT AUTHORITY\SYSTEM 计算机: Computer_Name 描述:Windows 不能在 \\domainname.com\sysvol\domainname.com\Policies\{31B2F340-016D-11D2-945F-00C04FB984F 9}\Machine\registry.pol 访问注册表信息 (Error_Code)。
原因如果网络上的计算机无法连接到某些组策略对象,就会发生这些问题。具体来说,这些对象位于网络的域控制器上的 Sysvol
文件夹中。 解决方案警告:注册表编辑器或其他方法使用不当可能导致严重问题。这些问题可能需要重新安装操作系统。Microsoft
不能保证您可以解决这些问题。修改注册表需要您自担风险。 要解决此问题,您必须对网络配置进行故障排除以减小引发此问题的可能性,然后更正配置。要排查发生此问题的可能原因,请按照下列步骤操作: 第一步:检查服务器和客户机上的 DNS 设置和网络属性在本地连接属性中,所有服务器和客户机上都必须启用“Microsoft 网络客户端”。所有域控制器上都必须启用“Microsoft 网络的文件和打印机共享”组件。此外,网络上的每台计算机都必须使用能够解析该计算机所属 Active Directory 林的 SRV 记录和主机名的 DNS 服务器。通常,发生常见配置错误是因为客户机使用了属于 Internet 服务提供商 (ISP) 的 DNS 服务器。 在所有记录了 Userenv 错误的计算机上,检查 DNS 设置和网络属性。此外,在所有域控制器上检查这些设置,无论这些域控制器是否记录 Userenv 错误。 要验证网络中基于 Windows XP 的计算机上的 DNS 设置和网络属性,请按照下列步骤操作:
要确定计算机使用的 DNS 的 IP 地址,请按照下列步骤操作:
注意:此主机名应解析为网络上某一域控制器的 IP 地址。如果计算机不能解析此名称,或者此名称解析为错误的 IP 地址,请确保域的正向查找区域包含有效的“(与父文件夹相同)”主机 (A) 记录。 要确保域的正向查找区域包含基于 Windows 2000 的计算机上的有效“(与父文件夹相同)”主机 (A) 记录,请按照下列步骤操作:
第二步:检查客户机和成员服务器上的服务器消息块签名设置服务器消息块 (SMB) 签名设置定义网络上的计算机是否对通信进行数字签名。如果 SMB 签名设置配置不正确,则客户机或成员服务器可能无法连接到域控制器。例如,域控制器可能要求 SMB 签名,但 SMB 签名在客户机上可能被禁用。如果发生此问题,则无法正确应用组策略。这样,客户机会在应用程序日志中记录用户环境 (Userenv) 错误。 有时,域控制器上的服务器服务和工作站服务的 SMB 签名设置可能彼此冲突。 例如,可以对域控制器的工作站服务禁用 SMB 签名,但是域控制器的服务器服务要求 SMB 签名。在这种情况下,如果您登录到服务器,将无法打开该域控制器的一个或多个本地文件共享。此外,如果您登录到服务器,将无法打开组策略管理单元。 有关如何对域控制器上的此类问题进行故障排除的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 839499?
(http://support.microsoft.com/kb/839499/
)
对域控制器上的工作站服务或服务器服务禁用 SMB 签名时不能打开文件共享或组策略管理单元
如果组策略错误仅发生在客户机和成员服务器上,或者您确定 KB 文章 839499
不适用于您的情况,请继续对该问题进行故障排除。默认情况下,SMB 签名是启用的,但是运行 Windows XP、Windows 2000 或 Windows Server 2003 的客户机和成员服务器上的客户端通信不要求 SMB 签名。我们建议您使用默认配置,因为虽然客户机在可能的时候可以使用 SMB 签名,但它仍然会与禁用了 SMB 签名的服务器进行通信。 要配置客户机和成员服务器以便启用 SMB 签名而不要求 SMB 签名,您必须更改某些注册表项的值。要在客户机上对注册表进行更改,请按照下列步骤操作:
在受影响的计算机上更改注册表值并重新启动服务器服务和工作站服务后,请按照下列步骤操作:
823659?
(http://support.microsoft.com/kb/823659/
)
修改安全设置和用户权限分配时可能出现的客户端、服务和程序不兼容问题
如果在运行 Windows 2000 Server 的域控制器上更改 GPO 设置,请按照下列步骤操作:
第三步:确保在所有的计算机上都启动了 TCP/IP NetBIOS Helper 服务网络上的所有计算机都必须运行 TCP/IP NetBIOS Helper 服务。要验证 TCP/IP NetBIOS Helper 服务是否正在基于 Windows XP 的计算机上运行,请按照下列步骤操作:
在 Windows Server 2003 和 Windows XP 上,您可以使用策略的结果集 MMC 管理单元 (Rsop.msc) 检查所有应用到计算机的策略设置。为此,请依次单击“开始”、“运行”,在“打开”框中键入 rsop.msc,然后单击“确定”。 在 Windows 2000 上,使用 Gpresult.exe 命令行工具检查组策略结果。为此,请按照下列步骤操作:
Microsoft 提供的编程示例只用于说明目的,不附带任何明示或默示的保证。这包括但不限于对适销性或特定用途适用性的默示保证。本文假定您熟悉所演示的编程语言和用于创建和调试过程的工具。Microsoft 的支持工程师可以帮助解释某个特定过程的功能,但是他们不会修改这些示例以提供额外的功能或构建过程以满足您的特殊需求。 Set objDictionary = CreateObject("Scripting.Dictionary")
i = 0
Set objOU = GetObject("LDAP://OU=Computers, OU=OUName, OU=OUName, DC=OUName,
DC=OUName,DC=CompanyName,
DC=com")
objOU.Filter = Array("Computer")
For Each objComputer In objOU
objDictionary.Add i, objComputer.CN
i = i + 1
Next
For Each objItem In objDictionary
strComputer = objDictionary.Item(objItem)
Set objWMIService =
GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer &
"\root\cimv2")
Set colServices = objWMIService.ExecQuery _
("Select * from Win32_Service where Name = 'LmHosts'")
For Each objService In colServices
If objService.StartMode = "Disabled" Then
objService.Change( , , , , "Automatic")
End If
Next
Next
第四步:确保在所有计算机上都启用了分布式文件系统 (DFS)所有的域控制器都必须运行分布式文件系统服务,因为 Sysvol 共享是一个 DFS 卷。此外,在所有计算机上的注册表中都必须启用 DFS 客户端。要确保分布式文件系统服务正在基于 Windows Server 2003 的域控制器上运行,请按照下列步骤操作:
834649?
(http://support.microsoft.com/kb/834649/
)
当基于 Windows 2000 的域控制器上未启动 DFS 时,客户机记录事件 ID 1030 和事件 ID 1058
要确保在所有的客户机上都启用分布式文件系统客户端,请按照下列步骤操作:
314494?
(http://support.microsoft.com/kb/314494/
)
组策略未能按照您所期望的方式应用;应用程序日志中记录“事件 ID 1058”和“事件 ID 1030”错误
第五步:检查 Sysvol 文件夹的内容和权限默认情况下,Sysvol 文件夹位于 %systemroot% 文件夹中。Sysvol 文件夹包含域的组策略对象、Sysvol 和 Netlogon 共享以及文件复制服务 (FRS) 暂存文件夹。如果 Sysvol 文件夹或 Sysvol 共享上的权限的限制过于严格,则组策略无法正确应用,并且会导致用户环境 (Userenv) 错误。此外,如果丢失了 Sysvol 共享或组策略对象,则可能发生 Userenv 错误。 要确保 Sysvol 共享可用,请在命令提示符下对每个域控制器运行 net share 命令。为此,请按照下列步骤操作:
257338?
(http://support.microsoft.com/kb/257338/
)
Windows 2000 域控制器上丢失 SYSVOL 和 NETLOGON 共享疑难解答
有关如何在 Windows Server 2003 中重新生成 Sysvol
共享的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 315457?
(http://support.microsoft.com/kb/315457/
)
如何在域中重新生成 SYSVOL 树及其内容
在确定 Sysvol 共享可用后,请确保为 Sysvol 文件夹、Sysvol 共享和包含 Sysvol
文件夹的卷的根文件夹配置正确的权限。 有关 Sysvol 共享和
Sysvol 文件夹所需权限的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 290647?
(http://support.microsoft.com/kb/290647/
)
在应用程序事件日志中每 5 分钟记录一次事件 ID 1000、1001
此外,在 Windows 2000 Server 上,必须授予 Everyone 组对包含 Sysvol
文件夹的卷的根文件夹的完全控制权限。在 Windows Server 2003 上,必须对 Everyone
组授予设置为“只有该文件夹”的“读取和执行”特殊权限,并且必须授予 domain\Users 组以下标准权限:
要下载 Windows 2000 Server Gpotool.exe 程序,请访问下面的 Microsoft“Gpotool.exe:Group Policy Verification Tool”(Gpotool.exe:组策略验证工具)网站: http://support.microsoft.com/kb/927229
(http://support.microsoft.com/kb/927229)
要下载 Windows Server 2003 Resource Kit 工具,请访问下面的 Microsoft“Windows
Server 2003 Resource Kit Tools”(Windows Server 2003 Resource Kit 工具)网站: http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en
(http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en)
如果运行 Gpotool.exe 程序而不使用任何选项,该程序将扫描域中所有域控制器上的所有组策略对象。如果您使用 /checkacl 开关,则该工具也将扫描 Sysvol 访问控制列表 (ACL)。要获得运行 Gpotool.exe 程序时的详细输出,请使用 /verbose 开关。 您也可以手动验证 SYSVOL 文件夹中的单个 GPO。例如,当 Userenv 1058 事件中的描述列出一个 GPO 的名称时,您就可以手动验证 SYSVOL 文件夹中的单个 GPO。您可以执行此操作以确保该 GPO 中包含 USER 文件夹、MACHINE 文件夹和 Gpt.ini 文件。要手动验证 SYSVOL 文件夹中的单个 GPO,请按照下列步骤操作:
Dcgpofix.exe 程序包含在 Windows Server 2003 中。有关 Dcgpofix.exe 程序的其他信息,请在命令提示符下运行 dcgpofix /? 命令。 有关 Recreatedefpol.exe 程序的信息,请访问下面的 Microsoft Windows 2000 默认组策略还原工具网站: http://www.microsoft.com/downloads/details.aspx?familyid=b5b685ae-b7dd-4bb5-ab2a-976d6873129d&displaylang=en
(http://www.microsoft.com/downloads/details.aspx?familyid=b5b685ae-b7dd-4bb5-ab2a-976d6873129d&displaylang=en)
当您使用防病毒软件扫描 Sysvol 驱动器时,请确保设置了建议的排除项。使用防病毒软件进行扫描可以阻止对所需文件(如
Gpt.ini 文件)的访问。您必须为所有的实时、预定和手动防病毒扫描都配置这些排除项。
有关在基于
Windows 的服务器上运行防病毒程序时建议的排除项的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 822158?
(http://support.microsoft.com/kb/822158/
)
Windows 2000 或 Windows Server 2003 域控制器上的病毒扫描建议
第六步:确保对必要的组授予跳过遍历检查权限必须对域控制器上的下列组授予跳过遍历检查权限:
第七步:确保域控制器未处于日志折叠状态要查看域控制器是否处于日志折叠状态,请在“事件查看器”中查看文件复制服务日志,并搜索 NTFRS 事件 ID 13568。事件 ID 13568 类似于以下事件 ID:类型:警告
292438?
(http://support.microsoft.com/kb/292438/
)
排查 Sysvol 和 DFS 副本集上的 journal_wrap 错误
第八步:运行 Dfsutil /PurgeMupCache 命令使用 /PurgeMupCache 开关运行 Dfsutil.exe 程序来刷新本地 DFS/MUP 缓存信息。Dfsutil.exe 程序包含在 Windows 2000 Server 支持工具和 Windows Server 2003 支持工具中。 有关相关主题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:842804?
(http://support.microsoft.com/kb/842804/
)
无法执行组策略处理,事件 1030 和 1058 被记录到域控制器的应用程序日志中
这篇文章中的信息适用于:
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。 | 文章翻译
|

回到顶端
