17 августа 2018 г.

MS GPO Printers 0x80070002 "Не удается найти указанный файл."

Всем бобра.

Давно ничего не писал, много работы.
Сегодня я решил рассказать про одну ошибку, на решение которой я потратил сверхмного времени, а когда нашел ответ - меня бомбануло "неподецки".
А теперь по порядку.

Первый раз я столкнулся с ошибкой еще год назад, но не придал ей значения, просто установил принтер по шаре из AD.
Обращаю внимание, ошибка с принтерами никак не связана, только с политиками.



Вчера я решил расчесать парк орг.техники, все раскидал, дал красивые имена, создал политики для пользователей. Проверил на паре ПК и остался доволен.
Имена я сменил и на шару...

Звонок:
"аааа принтер не алё"

захожу и вижу что политика не отработала

запускаю gpupdate /force и получаю:

Windows не удалось применить параметры "Group Policy Printers". Параметры "Group  Policy Printers" могут иметь свой собственный файл журнала. Щелкните ссылку "Дополнительные сведения". Обновление политики для компьютера успешно завершено.
Хм, лезу в журнал

Клиентскому расширению не удалось применить параметры политики компьютер для "PRINTER_ADD {A595C7B5-4F54-42AC-BBD2-5A96C8083865}" по причине ошибки с кодом "0x80070002 Не удается найти указанный файл." Дополнительные сведения находятся в файле трассировки. 
WTF?????
Какой файл?,
может дрова?
-нет, printer$ доступен
может где ошибка в наименовании принтера?
-нет, все в порядке
может дело в пользователе?
-нет, на других также

Дальше проверяю при помощи моделирования, тут все ОК, гипотетически отработает
А вот результат меня смущает, вроде как нужная политика в списке применимых, а что собственно оно применило нету, и вообще по названию примененной политики что-то левое установилось.

Давай копать интернеты, они говорят только за ярлыки и прочую лабудень.

В итоге на одном из форумов натыкаюсь на фразу аля: "Включай трассировку и смотри что там происходит"

Хо, а ее включать надо?
Да,мелкомягкие подскажут
Но у меня не зашло, пришлось создавать файлы реестра вручную при помощи этой статьи
Ура, у меня есть лог,
или не ура...
С первого взгляда картина та же:

2018-08-17 22:19:25.171 [pid=0x208,tid=0x17a4] Completed get GPO is relevant.
2018-08-17 22:19:25.171 [pid=0x208,tid=0x17a4] Variable %GPTPATH% = "\\www.ru\SysVol\www.ru\Policies\{A595C7B5-4F54-42AC-BBD2-5A96C8083865}\User"
2018-08-17 22:19:25.171 [pid=0x208,tid=0x17a4] Completed get GPT path.
2018-08-17 22:19:25.171 [pid=0x208,tid=0x17a4] Completed RSoP init.
2018-08-17 22:19:25.171 [pid=0x208,tid=0x17a4] Completed get next GPO.
2018-08-17 22:19:25.171 [pid=0x208,tid=0x17a4] Completed check GPO license usage.
2018-08-17 22:19:25.171 [pid=0x208,tid=0x17a4] Completed GPO pre-processing.
2018-08-17 22:19:25.187 [pid=0x208,tid=0x17a4] Started removing policy.
2018-08-17 22:19:25.187 [pid=0x208,tid=0x17a4] Completed remove GPH. [SUCCEEDED(S_FALSE)]
2018-08-17 22:19:25.187 [pid=0x208,tid=0x17a4] Started applying policy.
2018-08-17 22:19:25.187 [pid=0x208,tid=0x17a4] Failed to open file. [ hr = 0x80070002 "Не удается найти указанный файл." ]
2018-08-17 22:19:25.187 [pid=0x208,tid=0x17a4] Error reading GPE XML data file. [ hr = 0x80070002 "Не удается найти указанный файл." ]
2018-08-17 22:19:25.187 [pid=0x208,tid=0x17a4] Completed loading of package. [ hr = 0x80070002 "Не удается найти указанный файл." ]
2018-08-17 22:19:25.187 [pid=0x208,tid=0x17a4] EVENT : Клиентскому расширению не удалось применить параметры политики пользователь для "PRINTER_ADD {A595C7B5-4F54-42AC-BBD2-5A96C8083865}" по причине ошибки с кодом "0x80070002 Не удается найти указанный файл."%100790275
2018-08-17 22:19:25.187 [pid=0x208,tid=0x17a4] Completed apply GPO. [ hr = 0x80070002 "Не удается найти указанный файл." ]
2018-08-17 22:19:25.187 [pid=0x208,tid=0x17a4] User impersonation uninitialized.
2018-08-17 22:19:25.187 [pid=0x208,tid=0x17a4] Leaving ProcessGroupPolicyExPrinters() returned 0x00000002
2018-08-17 22:19:25.202 [pid=0x208,tid=0x17a4] 
Даже погуглил некоторые строки, наткнулся на это, ужаснулся и пошел дальше в надежде на лучшее.

Тут я решил проверить путь из лога  (\\www.ru\SysVol\www.ru\Policies\{A595C7B5-4F54-42AC-BBD2-5A96C8083865}\User) и получил шиш, нет такой папки.

Пояснение, в организации 2 КД (dc2 и dc3)
Лезу на dc3 в папку C:\windows\Sysvol\www.ru\policies и не нахожу папки
попутно обращаю внимание что www.ru в пути совсем не папка, иконка как у симлинка, но в свойствах ни слова об этом
пробиваю поиском printers.xml и вся выдача за 2017 год

Лезу на dc2 в туже папку и нахожу нужные файлы, поиском пробиваю printers.xml выдача нормальная 2017-2018 годы, содержимое иксэмэлок то что нужно.

возвращаюсь к клиентскому ПК, открываю HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\History и смотрю параметр dcname, он равен dc2.www.ru все правильно
Пингую dc2,dc2.www.ru резолвится нужный ip.
Пингую www.ru резолвится ip dc2
Все как положено
открываю \\www.ru\SysVol\www.ru\Policies\ и понимаю что содержимое папки не соответствует C:\windows\sysvol\www.ru\Policies на DC2

ПКМ по \\www.ru\SysVol\www.ru свойства
и тут я вижу вкладку DFS, а там:

Ну жованный крот, ну как-так-то?

Предыстория:
Жил был DC (первичный КД) и DC2. DC сдох, на его место поставили DC3, а про DFS забыли...

Т.о. проблема решается решением проблемы с DFS и репликацией sysvol на контроллерах домена....


слов нет....


up
dc2> dcdiag /v /test:DFSREvent
 Запуск проверки: DFSREvent
    The DFS Replication Event Log.
    Пропустить тест, так как на сервере выполняется служба репликации файлов.
    ......................... DC2 - пройдена проверка DFSREvent
dc2> dcdiag /v /test:FRSEvent
Запуск проверки: FrsEvent
   * Проверка журнала событий службы репликации файлов
   ......................... DC2 - пройдена проверка FrsEvent

dc2 и dc3>sc query ntfrs
running
dc3> dcdiag /v /test:FRSEvent 
  Запуск проверки: FrsEvent
         * Проверка журнала событий службы репликации файлов
         За последние 24 часа после предоставления SYSVOL в общий доступ
         зафиксированы предупреждения или сообщения  об ошибках.  Сбои при
         репликации SYSVOL могут стать причиной проблем групповой политики.
         Возникло предупреждение. Код события (EventID): 0x800034C4
            Время создания: 08/18/2018   19:33:27
            Строка события:
            Служба репликации файлов столкнулась с проблемами при включении репликации с "DC2" на "DC3" для "c:\windows\sysvol\domain", использующего DNS-имя "DC2.www.ru". Служба репликации файлов (FRS) продолжит повторные попытки.
             Ниже указаны причины, по которым может выдаваться это предупреждение.
             [1] FRS не может разрешить DNS-имя "DC2.www.ru" с этого компьютера.
             [2] FRS не запущена на "DC2.www.ru".
             [3] Сведения о топологии в доменных службах Active Directory для эт
ой реплики реплицированы еще не на все контроллеры домена.
             Это сообщение об ошибке записывается в журнал для каждого подключения один раз. После исправления ошибки в журнал будет записано другое сообщение,означающее, что соединение установлено.
         ......................... DC3 - пройдена проверка FrsEvent 


0x800034C4 - ищем по этой ошибке.

Как выяснилось DFS не используется, использует FRS.

В итоге проблема решилась при помощи статьи 
в кратце:
dc2 и dc3>sc stop ntfrs
dc2 и dc3>copy %systemroot%\sysvol\domain\policies\GUID КУДАНИБУДЬ
dc2 и dc3>copy %systemroot%\sysvol\staging\domain КУДАНИБУДЬ

На корневом DC
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Cumulative Replica Sets\GUID
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Replica Sets\GUID

BurFlags, тип DWord,  значение D4.

Для остальных D2 в:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Cumulative Replica Sets\GUID
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Replica Sets\GUID
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Backup/Restore\Process atStartup\


Для определения корневого контроллера можно использовать команду
dc2 или dc3>netdom.exe query fsmo

dc2 и dc3>sc start ntfrs

dc2 и dc3>Копируем папки обратно (при необходимости) 

Комментариев нет:

Отправка комментария