Windows でのポリシーの編集時に "'Microsoft.Policies.Sensors.WindowsLocationProvider' は既に定義されています" というエラーが発生する

適用対象: Windows 10, version 1809Windows Server 2019, all versionsWindows 10, version 1803 詳細

現象


以下のシナリオについて検討します。

シナリオ 1
  • 次のいずれかのオペレーティング システムを実行しているドメイン コントローラーがあります。
    • Windows Server 2008
    • Windows Server 2008 R2
    • Windows Server 2012
    • Windows Server 2012 R2
  • グループ ポリシー管理用テンプレート ファイル (.admx ファイル) 用のセントラル ストアをコンピューター上に作成しました。 詳細については、Windows Vista でグループ ポリシー管理用テンプレート ファイル用のセントラル ストアを作成する方法に関する記事を参照してください。
  • Windows 10 ベースのコンピューターをドメインに参加させます。
  • Windows 10 ベースのコンピューターで、%systemroot%\PolicyDefinitions ディレクトリにあるファイルをコピーし、ADMX セントラル ストアに貼り付けて、既存のすべての *.admx ファイルと *.adml ファイルを上書きします。 次に、ポリシーを編集するため、グループ ポリシー管理コンソール (GPMC) を開きます。
  • [コンピューターの構成] または [ユーザーの構成] の下の [ポリシー] ノードをクリックします。
シナリオ 2
  • Windows 10 RTM (Build 10240) を実行しているコンピューターがあります。
  • このコンピューターを Windows 10 Version 1511 (Build 10586).にアップグレードしました。

上記のシナリオで、次のエラー メッセージが表示されます。
 
管理用テンプレート

ダイアログ メッセージのテキスト
名前空間 'Microsoft.Policies.Sensors.WindowsLocationProvider' は、既にストア内の別のファイルのターゲット名前空間として定義されています。

ファイル
\\<forest.root>\SysVol\<forest.root>\Policies\PolicyDefinitions\Microsoft-Windows-Geolocation-WLPAdm.admx, 行 5, 列 110

: <forest.root> プレースホルダーは、ドメイン名を表します。

たとえば、次のスクリーン ショットに示すようなエラー メッセージが表示されます。


使用例


: Windows 7 または Windows 8.1 から (Windows 10 RTM をスキップして) Windows 10 Version 1511 にアップグレードしている場合は、この問題が発生しないことがあります。

原因


この問題が発生する原因は、Windows 10 RTM で LocationProviderADM.admx ファイルが Microsoft-Windows-Geolocation-WLPAdm.admx と名前変更されたことにあります。

シナリオ 1

以前のリリースの Windows 用である LocationProviderADM.ADMX ファイルが含まれているセントラル ストアに、Windows 10 から .admx ファイルをコピーすると、設定は同じだがファイル名の異なる 2 つの .admx ファイルが存在することになります。 これがトリガーとなって "名前空間は既に定義されています" というエラーが発生します。

シナリオ 2

Windows 10 RTM から Windows 10 Version 1511 にアップグレードすると、新しい LocationProviderAdm.admx ファイルがフォルダーにコピーされますが、そのフォルダーには、まだ古い Microsoft-Windows-Geolocation-WLPAdm.admx ファイルが保持されています。 したがって、同じポリシー名前空間に対処する ADMX ファイルが 2 つ存在します。

回避策


方法 1

[OK] をクリックして、エラー メッセージを無視します。 このエラー メッセージは情報メッセージであり、グループ ポリシー設定は予期したとおりに機能します。

方法 2

LocationProviderADM.admx ファイルと LocationProviderADM.adml ファイルを削除し、Microsoft-Windows-Geolocation-WLPAdm.admx と Microsoft-Windows-Geolocation-WLPAdm.adml を正しい名前に変更します。

シナリオ 1
  1. LocationProviderADM.admx ファイルと LocationProviderADM.adml ファイルをセントラル ストアから削除します。
  2. Microsoft-Windows-Geolocation-WLPAdm.admx を LocationProviderADM.admx に名前変更します。
  3. Microsoft-Windows-Geolocation-WLPAdm.adml を LocationProviderADM.adml に名前変更します。
シナリオ 2

  • Microsoft-Windows-Geolocation-WLPAdm.admx ファイルをローカル ストアから削除します。 ローカル ポリシー ストアのパスは C:\Windows\PolicyDefinitions です。

: ADMX ファイルと ADML ファイルは、システムによって保護されています。 これらのファイルを名前変更したり削除したりするには、NTFS アクセス許可をファイルに追加する必要があります。 これを行うには、次のコマンドを使用します。
  1. 管理者特権でのコマンド プロンプトを開き、次のように takeown.exe を使用して、ローカルの管理者に所有権を付与します。

    takeown /F " C:\Windows\PolicyDefinitions\Microsoft-Windows-Geolocation-WLPAdm.admx" /A
    takeown /F " C:\Windows\PolicyDefinitions\en-US\Microsoft-Windows-Geolocation-WLPAdm.adml" /A
  2. 両ファイルに対するフル コントロールのアクセス許可を管理者に付与します。
  3. .old という拡張子を付けることで両ファイルを名前変更します。これで、GPEDIT.MSC を開いたときに [位置情報] ポップアップが表示されなくなります。

詳細情報


Windows 10 よりも前の LocationProviderADM.admx ファイルの内容と、Windows 10 の Microsoft-Windows-Geolocation-WLPAdm.admx ファイルの内容の違いは 1 行だけです。

Windows 10 よりも前の LocationProviderADM.admx ファイルでは、"<supportedOn>" 行は次のようになっています。
<supportedOn ref="windows:SUPPORTED_Windows8"/> 
Windows 10 の LocationProviderADM.admx ファイルでは、"<supportedOn>" 行は次のようになっています。
<supportedOn ref="windows:SUPPORTED_Windows8_Or_Windows_6_3_Only"/> 
[コンピューターの構成] または [ユーザーの構成] の下の [ポリシー] ノードをクリックすると、このエラーが発生します。