Ошибка Microsoft Disk Quota на терминальной ферме

Ошибка Microsoft Disk Quota на терминальной ферме

rdp logoДобрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз я вам подробно показал, как убрать тестовый режим Windows 10. Сегодня мы вновь вернемся к обсуждению работы терминальных серверов, а именно я разберу ситуацию при которой у вас при входе на RDS ферму долго висит надпись "Применение политики Microsoft Disk Quota", и в журнале событий есть ошибки и предупреждения ID 1085, ID 7016 и ID 4016. Я вам покажу из-за чего появляются данные предупреждения и как вам от них избавиться.

Описание проблемы

Есть RDS ферма построенная на операционной системе Windows Server 2012 R2. Есть два посредника подключений и 15 RDCH хостов. При входе на терминальный стол у пользователя долго висит экран с надписью:

Применение политики Microsoft Disk Quota

Применение политики Microsoft Disk Quota

После чего сотрудник успешно попадает на свой виртуальный стол. После обращения пользователя, стали рассматривать в чем дело. Раньше я помню, что была политика управления дисковыми квотами, но она была отключена и удалена из объектов GPO. Открыв логи операционной системы Windows, я обнаружил вот такие события и ошибки:

В журнале "Система" было предупреждение с кодом события ID 1085 (Источник GroupPolicy (Microsoft-Windows-GroupPolicy))

Код 1085: Windows не удалось применить параметры "Microsoft Disk Quota". Параметры "Microsoft Disk Quota" могут иметь свой собственный файл журнала. Щелкните ссылку "Дополнительные сведения".

код id 1085

Так же в журнале "Журналы приложений и служб" выбрать папку "Microsoft - Windows - GroupPolicy - Operational". Там были события с кодом ID 4016 и ID 7016.

Код 4016: Запуск обработки расширения Microsoft Disk Quota.

Список применимых объектов групповой политики: (Изменения обнаружены.)

Имя объекта GPO (Который является источником ошибки)

Код 4016

И событие 7016.

Завершена обработка расширения Microsoft Disk Quota за 16 мс.

Код 7016

Когда вы устанавливаете или отключаете политику дисковой квоты, для атрибута gPCMachineExtensionNames объекта групповой политики устанавливается следующее значение:

[{35378EAC-683F-11D2-A89A-00C04FBBCFA2} {D02B1F72-3407-48AE-BA88-E8213C6761F1}] [{3610EDA5-77EF-11D2-8DC5-00C04FA31A66} {D02B1F72-3407-48AE-BA88-E8213C6761F1}]

И когда вы отключаете данную политику или удаляете ее как объект GPO, то к сожалению значение gPCMachineExtensionNames не очищается. Поэтому вы и видите все события 1085, 4016, 7016.

Как устранить ошибки

Первое, что вы должны сделать, это удостовериться, есть или нет у вас групповая политика настраивающая дисковые квоты (Microsoft Disk Quota), если она есть, то провести диагностику применения групповой политики. В моем случае ее не было. Ранее была политика, но она была отключена и удалена.

Далее в событии 4016 вы видите, из-за какой политики вы получаете ошибку. Очень полезно будет открыть в режиме XML, там будет полезен раздел EventData.

<EventData>
<Data Name="CSEExtensionId">{3610EDA5-77EF-11D2-8DC5-00C04FA31A66}</Data>
<Data Name="CSEExtensionName">Microsoft Disk Quota</Data>
<Data Name="IsExtensionAsyncProcessing">false</Data>
<Data Name="IsGPOListChanged">true</Data>
<Data Name="GPOListStatusString">%%4102</Data>
<Data Name="DescriptionString">GPO-Имя</Data>
<Data Name="ApplicableGPOList"><GPO ID="{E26B087E-2CF3-40C9-8910-66E48A1E53C5}"><Name>GPO-Имя</Name></GPO></Data>
</EventData>
</Event>

Событие 4016 xml

Тут видно имя CSEExtensionName и его ID который нам нужно будет удалить из атрибута gPCMachineExtensionNames. В XML версии события 7016, вы можете обнаружить:

<EventData>
<Data Name="CSEElaspedTimeInMilliSeconds">16</Data>
<Data Name="ErrorCode">2147942402</Data>
<Data Name="CSEExtensionName">Microsoft Disk Quota</Data>
<Data Name="CSEExtensionId">{3610EDA5-77EF-11D2-8DC5-00C04FA31A66}</Data>
</EventData>
</Event>

Событие 7016 xml

Где код 2147942402 означает, что объект, который пытается применится не найден. В XML версии события 1085 вы по поводу кода 2147942402 увидите открытым текстом.

<EventData>
<Data Name="SupportInfo1">1</Data>
<Data Name="SupportInfo2">4950</Data>
<Data Name="ProcessingMode">0</Data>
<Data Name="ProcessingTimeInMilliseconds">657</Data>
<Data Name="ErrorCode">2147942402</Data>
<Data Name="ErrorDescription">Не удается найти указанный файл.</Data>
<Data Name="DCName">\\имя контроллера домена</Data>
<Data Name="ExtensionName">Microsoft Disk Quota</Data>
<Data Name="ExtensionId">{3610eda5-77ef-11d2-8dc5-00c04fa31a66}</Data>
</EventData>
</Event>

Событие 1085 XML

Как я и писал выше нам из параметра gPCMachineExtensionNames в политике нужно удалить значение {3610eda5-77ef-11d2-8dc5-00c04fa31a66}, которое относится к Microsoft Disk Quota.

  • gPCMachineExtensionNames - в этом атрибуте перечисляются клиентские расширения GPO (CSE), необходимые клиенту для обработки параметров групповой политики компьютера
  • gPCUserExtensionNames - в этом атрибуте перечисляются клиентские расширения GPO (CSE), необходимые клиенту для обработки определенных параметров групповой политики пользователя.

Что мы делаем, открываем с вами редактор атрибутов ADSIEdit. Далее вы переходите в контекст именования по умолчанию DC=Domain DN, далее CN=System, далее CN=Policies. Тут будут описаны все ваши объекты групповой политики, есть одно но, у всех имя состоит из GUID записи. Как узнать GUID политики GPO я уже рассказывал, советую посмотреть.

редактирование gPCMachineExtensionNames

Заходим в свойства объекта GPO и находим атрибут gPCMachineExtensionNames. Щелкаем по нему и копируем себе в текстовый редактор его содержимое, для резервной копии. Так же советую сделать копию политики средствами оснастки управления групповыми политиками.

редактирование атрибута gPCMachineExtensionNames

Напоминаю, что удаляем кусок [{3610EDA5-77EF-11D2-8DC5-00C04FA31A66}……{D02B1F72-3407-48AE-BA88-E8213C6761F1}]. После чего новый текст копируем в атрибут gPCMachineExtensionNames и сохраняем его. Где первый набор квадратных скобок - это тот особый «нулевой GUID», за которым следуют привязные GUID MMC для любых предпочтений GP, настроенных в GPO, затем каждая последующая GUID область политики объединяется в свои квадратные скобки.

[{00000000-0000-0000-0000-000000000000}{BEE07A6A-EC9F-4659-B8C9-0B1937907C83}][{35378EAC-683F-11D2-A89A-00C04FBBCFA2}{0F6B957D-509E-11D1-A7CC-0000F87571E3}{53D6AB1D-2488-11D1-A28C-00C04FB94F17}{62C1845D-C4A6-4ACB-BBB0-C895FD090385}{D02B1F72-3407-48AE-BA88-E8213C6761F1}][{3610EDA5-77EF-11D2-8DC5-00C04FA31A66}{D02B1F72-3407-48AE-BA88-E8213C6761F1}][{827D319E-6EAC-11D2-A4EA-00C04F79F83A}{803E14A0-B4FB-11D0-A0D0-00A0C90F574B}][{B087BE9D-ED37-454F-AF9C-04291E351182}{BEE07A6A-EC9F-4659-B8C9-0B1937907C83}][{B1BE8D72-6EAC-11D2-A4EA-00C04F79F83A}{53D6AB1D-2488-11D1-A28C-00C04FB94F17}]

В этом примере выше предполагается, что никакие другие области политики не были реализованы в этом локальном объекте групповой политики. Если они есть, то каждая пара GUID CSE / MMC с разделителями в квадратных скобках должна быть отсортирована в списке в алфавитном порядке, чтобы все это работало. Если эти другие области политики являются настройками GP, то GUID оснастки MMC для каждой из них должен быть включен в квадратные скобки в начале после GUID {00000000-0000-0000-0000-000000000000}. Очевидно, что Microsoft не хотела, чтобы это было взломано вручную, но, тем не менее, это возможно!

Удаление лишнего GPO (CSE)

Теперь вам осталось перезагрузить сервер или обновить групповую политику в принудительном варианте, через gpupdate /force в командной строке Windows.

Дополнительные ссылки:

  • https://sdmsoftware.com/group-policy-blog/tips-tricks/group-policy-preferences-in-the-local-gpo-yes/
  • https://blogs.technet.microsoft.com/core/2015/01/08/event-id-1085-source-grouppolicy-windows-failed-to-apply-the-microsoft-disk-quota-settings-resolved/

С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org. Надеюсь, что вы победили свои сообщение с ошибкой "Применение политики Microsoft Disk Quota".

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *