修复命名空间已定义的错误

尝试消除问题的工具

当您在Windows 10上打开组策略编辑器或尝试编辑受影响的策略时,可能会显示错误消息“命名空间已定义”。

例如,当我在Windows 10计算机上打开组策略编辑器时,两次出现以下错误消息:

命名空间“ Microsoft.Policies.Sensors.WindowsLocationProvider”已经定义为存储中另一个文件的目标命名空间。

文件C: WINDOWS PolicyDefinitions Microsoft-Windows-Geolocation-WLPAdm.admx,第5行,第110列

此问题是由Windows 10 Build 1511中策略的名称更改引起的。该策略的原始名称在Windows 10 RTM中为Microsoft-Windows-Geolocation-WLPAdm.admx,但在Windows 10 Build 1511中已重命名为LocationProviderADM.admx。

组策略编辑器检测名称空间冲突,并通过错误消息通知您。

命名空间已经定义

namespace is already defined error

从Windows 10 RTM升级到较新版本(例如Windows 10版本1511)的家庭计算机系统上可能会引发错误,该命名空间已定义。

如果将冲突策略复制到存储中,则如果使用组策略管理模板文件的中央存储,则在企业或企业系统上也可能会出现问题。

解决问题

错误消息是信息性的,这意味着可以忽略该错误消息而不会产生不良影响。删除取决于是否正在使用中央存储。

本地系统,无中央存储

namespace error

在这种情况下,解决方案是删除计算机上的旧策略模板文件。该错误消息突出显示了它的存储路径:C: Windows PolicyDefinitions

尽管您可以访问该文件夹而不会遇到问题,但是您会注意到无法删除其中包含的文件。

ADMX和ADML文件受系统保护,这意味着您默认情况下无法重命名,移动或删除它们。

您需要向文件添加NTFS权限,这是在命令行上完成的。

步骤1:打开提升的命令提示符

cmd elevated

点击Windows键,键入cmd.exe,按住键盘上的Shift和CTRL,然后按Enter。或者,右键单击“命令提示符”结果,然后从上下文菜单中选择“以管理员身份运行”。

这将打开运行命令所需的提升的命令提示符。

步骤2:运行命令以添加所需的权限

takeown commands

您需要执行的两个命令是:

带上/ F'C: Windows PolicyDefinitions Microsoft-Windows-Geolocation-WLPAdm.admx'/ A

带上/ F'C: Windows PolicyDefinitions zh-CN Microsoft-Windows-Geolocation-WLPAdm.adml'/ A

注意:您可能需要用另一个语言环境替换第二个命令的 en-US 部分。检查文件夹C: Windows PolicyDefinitions,然后在区域设置子文件夹中查找是否是这种情况。

Windows在每个命令之后显示一条成功消息,指示该文件现在已由管理员组拥有。

步骤3:授予管理员完全访问权限

full control

管理员需要对文件的完全访问权限,此步骤将对此进行处理。

  1. 在文件资源管理器中打开文件夹C: Windows PolicyDefinitions,然后右键单击Microsoft-Windows-Geolocation-WLPAdm.admx。
  2. 从上下文菜单中选择属性。
  3. 切换到“安全性”选项卡。
  4. 页面打开时,选择编辑按钮。
  5. 在“组或用户名”下选择管理员组。
  6. 选中“允许”下的“完全控制”框。
  7. 接受显示的Windows安全消息。
  8. 单击确定。

对C: Windows PolicyDefinitions en-US Microsoft-Windows-Geolocation-WLPAdm.adml重复上述步骤。同样,如有必要,将en-US语言环境更改为设备上使用的语言环境。

步骤4:重命名或删除 文件

namespace error

使用文件资源管理器打开C: Windows PolicyDefinitions,然后在清单中找到Microsoft-Windows-Geolocation-WLPAdm.admx文件。

您可能需要重命名策略模板以进行保管。通过右键单击它,然后从上下文菜单中选择重命名来完成。

将文件扩展名从.admx替换为.old,以便新文件名应显示为Microsoft-Windows-Geolocation-WLPAdm.old。

Windows可能会在执行时显示提示,警告您如果更改其扩展名,则该文件可能变得不可用。

rename

选择是,因为这是有意的。 Windows随后显示第二个提示,指出您需要管理权限才能重命名该文件。

file access denied

选择继续以提供文件更改的管理权限,然后对第二个文件重复该操作。

或者,直接删除文件而不是重命名它们。

中央商店解决方案

如果使用中央存储,请执行以下操作解决此问题。

  1. 从中央存储中删除文件LocationProviderADM.admx和LocationProviderADM.adml。
  2. 将Microsoft-Windows-Geolocation-WLPAdm.admx重命名为LocationProviderADM.admx。
  3. 将Microsoft-Windows-Geolocation-WLPAdm.adml重命名为LocationProviderADM.adml。

结束语

进行更改后,组策略应打开没有错误。请注意,该方法也应适用于其他命名空间冲突。如果Microsoft决定在不删除策略的情况下修改名称,它将同样解决这些问题。