Nie można odnaleźć zasobu $(string. * ), do którego odwołuje się atrybut displayName. Plik *.admx

Nie można odnaleźć zasobu $(string. * ), do którego odwołuje się atrybut displayName. Plik *.admx

Kolejny dzień – kolejne problemy do rozwiązania 🙂

Tym razem problemy z GPO, a ściślej mówiąc z widocznością ustawień i możliwością ich edycji. Podczas próby podglądu czy edycji ustawień GPO użytkownicy otrzymywali groźnie wyglądające błędy typu:

ADMX_error

Na szczęście sytuacja nie była zła, bo zasady grup działały, aplikowały zmiany itd. Co ciekawe na kontrolerach domeny problem nie występował – tam można było normalnie przeglądać i edytować ustawienia wszystkich GPO:

ADMX_OK

Gdzie jest więc „pies pogrzebany”? W tym środowisko funkcjonuje Central Store for Group Policy Admin Templates, więc nie była to kwestia poszczególnego kontrolera domeny. Zostały również sprawdzone uprawnienia użytkownika per konkretne GPO i plik ADMX z definicją – wszystko było OK… Podmienione zostały nawet wybrane pliki ADMX – bez efektu…

Sprawa niby nie pilna, bo zasadniczy mechanizm GPO działał prawidłowo, natomiast mocno irytująca dla operatorów GPO. Test na spostrzegawczość – czym jeszcze różnią się zrzut działający od tego, który nie działał jak powinien?

Bingo – językiem 🙂 A więc mimo opisu wskazującego na uszkodzenie plików ADMX – w istocie problem stanowiły pliki ADML odpowiadające za „reprezentację” zasad w danym języku. Prawdopodobnie ktoś podczas aktualizacji folderu „PolicyDefinitions” na SYSVOL’u zapomniał o wgraniu aktualnych plików ADML lub podczas odtwarzania/przywracania plików rozjechały się ich tłumaczenia. Jak można naprawić ten problem? W bardzo prosty sposób. Wystarczy z domenowej stacji roboczej/serwera skopiować lokalne pliki ADML i zastąpić nimi obecną na SYSVOL’u ich wersję.

Pliki językowe znajdziecie w ścieżce:

PolicyDefinitions_local

Po nadpisaniu obecnych na SYSVOL’u plików -tymi skopiowanymi ze stacji roboczej + zajściu replikacji Active Directory problem zostaje usunięty:

ADMX_OK_pl

I po strachu… 🙂

3 thoughts on “Nie można odnaleźć zasobu $(string. * ), do którego odwołuje się atrybut displayName. Plik *.admx

  1. Witam uprzejmie,
    Czy mógłbym zapytać, co zrobić w przypadku, gdy analogiczny problem występuje w Windows Server 2012 R2 bez domeny?
    Przy próbie wejścia w zasady zabezpieczeń lokalnych otrzymuję serię komunikatów „Nie można odnaleźć zasobu $(string. * ), do którego odwołuje się atrybut displayName. Plik C:\Windows\PolicyDefinitions\*.admx, wiersz *, kolumna*”
    Dziękuję, pozdrawiam
    Paweł

    1. Witaj,
      problem dotyczy tego samego, czyli definicji językowych ADML. Wystarczy znaleźć działający serwer z tym samym (polskim?) językiem i skopiować z niego pliki ADML z lokalizacji (C:\Windows\PolicyDefinitions\pl-pl) do tej samej lokalizacji na niepoprawnie działającym serwerze i na nowo uruchomić konsolkę mmc 🙂

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *