ローカルセキュリティポリシーでエラーが出る
リソース ‘$(string.xxxxx….)’ (属性 DisplayNameで参照)が見つかりませんでした。
ファイル C:\Windows\PolicyDefinisions\xxxxxx.admx、行 xxx、列 xxx
これが出てしまうと、グループポリシー管理のところで、エラーが表示されて、しまい、実際表示してほしい、そのポリシーに対して変更してある部分が出ないんですよね。
検索すると、ファイルそのものを新しいバージョンのものに置き換える方法も書いてあります。
が、その方法だと、消えたりすることもあるものがある、とか(Windowsアップデートのアップグレード遅延とか)
ですので、今回はとりあえずそのままでなんとかエラー表示だけ消したい。
そんな人向けです。
細かい何かが起きても自分の手には負えませんので自己責任で。
今回自分は、Windows 2008 R2のADサーバから、Windows 2022へのADサーバ移行へ行った場合に出てしまったエラーでした。
上記のエラーが出る理由とその対処方法。
上記が出る原因は、string.xxxxx…のxxxxx…の部分対する、Stringのタグがないこと。
ローカルセキュリティポリシーの名称表示や、説明文表示に使われる部分ですが、ここにそのデータがないとエラーがでます。
下記今回起きた具体例。
エラー内容
リソース ‘$(string.EnableExtendedIEModeHotkeys)’ (属性 displayName で参照) が見つかりませんでした。
ファイル C:\Windows\PolicyDefinitions\inetres.admx、行 35457、列 287
C:\Windows\PolicyDefinitions\inetres.adml
<policy name="EnableExtendedIEModeHotkeys" class="Both" displayName="$(string.EnableExtendedIEModeHotkeys)" explainText="$(string.IE_ExplainEnableExtendedIEModeHotkeys)" key="Software\Policies\Microsoft\Internet Explorer\Main\EnterpriseMode" valueName="EnableExtendedIEModeHotkeys">
<parentCategory ref="InternetExplorer" />
<supportedOn ref="SUPPORTED_IE11" />
<enabledValue>
<decimal value="1" />
</enabledValue>
<disabledValue>
<decimal value="0" />
</disabledValue>
</policy>
この行の前に、
<policy name="EnableGlobalWindowListInIEMode" class="Both" displayName="$(string.EnableGlobalWindowListInIEMode)" explainText="$(string.IE_ExplainEnableGlobalWindowListInIEMode)" key="Software\Policies\Microsoft\Internet Explorer\Main\EnterpriseMode" valueName="EnableGlobalWindowListInIEMode">
<parentCategory ref="InternetExplorer" />
<supportedOn ref="SUPPORTED_IE11" />
<enabledValue>
<decimal value="1" />
</enabledValue>
<disabledValue>
<decimal value="0" />
</disabledValue>
</policy>
があります。これは後で使います。
実際のstringがあるデータは、日本語版ですので、下記場所になります。
C:\Windows\PolicyDefinitions\ja-JP\InetRes.adml
実際開いてみると、説明文のようなものがずらずらと。
ここで、さっきのEnableExtendedIEModeHotkeysで検索してみるも、ない、と表示されます。
なので、1つ上にあった、EnableGlobalWindowListInIEModeで検索するとあります。
入れる場所はこの項目の下でよさそうです。
(※タグ管理なので、末尾に入れてもいいんですが気持ち悪いので)
次に、本来ここのEnableExtendedIEModeHotkeysに入るであろう説明文をもって来ます。
Windows でグループ ポリシー管理用テンプレート用のセントラル ストアを作成および管理する方法
ここに、そのadmxファイルのテンプレートがあります。
本来であれば、ここからダウンロードしたファイルを置き換えることで対応しているところが多いですが、ここから、EnableExtendedIEModeHotkeysの説明文だけ抜き出します。
今回は「Windows 10 2022 Update 用の管理用テンプレート (.admx) (22H2)」を使いました。
あるやつないやつあるので、そこはいろいろダウンロードして確認してください。
インストールプログラムですが、下記ProgramFiles内にデータが展開されるだけです。
C:\Program Files (x86)\Microsoft Group Policy\
今回は、この配下の、
C:\Program Files (x86)\Microsoft Group Policy\Windows 10 October 2022 Update (22H2)\PolicyDefinitions
からデータを取得します。
このフォルダ内の、ja-JPから、InetRes.admlを開き、EnableExtendedIEModeHotkeysで検索します。
ありました。
<string id="EnableExtendedIEModeHotkeys">Internet Explorer モードで拡張ホットキーを有効にする</string>
<string id="IE_ExplainEnableExtendedIEModeHotkeys">このポリシー設定を使用すると、管理者は "Ctrl+S" のように "名前を付けて保存" 機能を使用して、Microsoft Edge Internet Explorer の拡張モード ホットキーを有効にすることができます。
このポリシーを有効にした場合、 Internet Explorer モードで拡張ホットキー機能が有効になり、Internet Explorer と同様の作業ができます。
このポリシーを無効にした場合、または構成しなかった場合は、Internet Explorer モードでは拡張ホットキーは動作しません。
詳細については、「https://go.microsoft.com/fwlink/?linkid=2102115」を参照してください。</string>
これを、さっきのサーバ本体側にある、InetRes.admlに適用させたいですが、そのままではコピーができません。
いったん、デスクトップに、InetRes.admlをコピーし、そこから編集します。
念のため、別の場所か同じ場所に、編集前のファイルをInetRes_old.admlとして保存しておきます。
先ほどの、EnableGlobalWindowListInIEModeの下あたりに上記のデータを張り付けて上書き保存します。
保存したら、管理者でコマンドプロンプトを起動し、下記コマンドでデータを実際の場所に上書きします。
(ユーザはadministratorでログインしているものとします)
robocopy C:\Users\Administrator\Desktop\ C:\Windows\PolicyDefinitions\ja-JP\ InetRes.adml /B
正常にコピーが完了したら、ローカルグループポリシーエディタや、グループポリシーの管理を開いて確認します。
エラーが出なければ、表示されていなければ完了です。
複数出ている場合は、同様の作業を繰り返します。
最後に。
正規の方法かどうかはわかりません。
とりあえず、データが出なくて困っていたので、このように対処を今回はしましたが、
”触らないデータだから”というのがあります。
今回このEnableExtendedIEModeHotkeysの項目を触る場合は、どうなるかわかりません。
正しい方法かどうかは不明ですので、全て、自己責任での作業をお願いします。
何か起きた場合は責任は負えません。
ActiveDirectoryの移行とか、セカンダリとか SubgateとBuffaloのリンクアグリゲーション設定