Виправлення помилки VSS EventID 8193 в Windows Server 2016

Система моніторингу з одного з серверів з Windows Server 2016 при кожному завантаженні сервера стала слати події з помилкою служби тіньового копіювання томів в журналі Application з EventID 8193 від джерела VSS:

Volume Shadow Copy Service error: Unexpected error calling routine RegOpenKeyExW (-2147483646, SYSTEM \ CurrentControlSet \ Services \ VSS \ Diag, ...). hr = 0x80070005, Access is denied. Operation: Initializing Writer Context:% MINIFYHTMLf7a76f4b575fee09cd3cc7d1fdeb35b45% Writer Class Id: e8132975-6f93-4464-a53e-1050253ae220 Writer Name: System Writer Writer Instance ID: 4f096fb4-2e00-4864-aa8f-885aa9186850

Російською:

Помилка тіньового копіювання тому: Неочікувана помилка при виклику підпрограми RegOpenKeyExW (-2147483646, SYSTEM \ CurrentControlSet \ Services \ VSS \ Diag, ...) ... hr = 0x80070005, Немає доступу. Операція: Ініціалізація модуля запису Контекст: Код класу модуля запису: e8132975-6f93-4464-a53e-1050253ae220 Ім'я модуля запису: System Writer Код екземпляра модуля запису: 4f096fb4-2e00-4864-aa8f-885aa9186850

При цьому сервер працює нормально, якихось видимих ​​проблем зі службами немає. У списку модулів VSS також немає помилок для ID цього примірника VSS Writer:

vss list writers

Дана помилка досить стара і зазвичай пов'язана з установкою DHCP ролі на сервер Windows Server 2008 (і вище), після якого у облікового запису Network Service пропадають права на гілку реєстру HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ VSS \ Diag.

Проблема пов'язана з установкою модуля тіньового копіювання VSS - DHCP Jet Writer, що відповідає за коректне створення тіньових копій DHCP служби, який змінює права на гілку.

Щоб виправити помилку потрібно вручну за допомогою редактора реєстру надати повні права для Network Service на зазначену гілку.

  1. Запустіть regedit.exe;
  2. Перейдіть до гілки HKLM \ SYSTEM \ CurrentControlSet \ services \ VSS \ Diag і відкрийте вікно з правами на гілку реєстру (пункт Permissions в контекстному меню);
  3. У списку дозволів знайдіть Network Service і в дозволах надайте повний доступ (Full Control).

Замість ручної правки реєстру більш правильніше було б відновити стандартні права на неї за допомогою утиліти командного рядка SubInACL. Скачайте і встановіть утиліту, (якщо це ще не зроблено) і виконайте наступні команди:

cd "C: \ Program Files (x86) \ Windows Resource Kits \ Tools" subinacl.exe / Subkeyreg System \ CurrentControlSet \ Services \ VSS \ Diag / sddl = D: PAI (A ;; KA ;;; BA) (A; ; KA ;;; SY) (A ;; CCDCLCSWRPSDRC ;;; BO) (A ;; CCDCLCSWRPSDRC ;;; LS) (A ;; CCDCLCSWRPSDRC ;;; NS) (A; CIIO; RC ;;; OW) (A ;; KR ;;; BU) (A; CIIO; GR ;;; BU) (A; CIIO; GA ;;; BA) (A; CIIO; GA ;;; BO) (A; CIIO; GA ;;; LS) (A; CIIO; GA ;;; NS) (A; CIIO; GA ;;; SY) (A; CI; CCDCLCSW ;;; S-1-5-80-3273805168-4048181553-3172130058-210131473-390205191 ) (A; ID; KR ;;; AC) (A; CIIOID; GR ;;; AC) S: ARAI

У Windows Server 2008 R2 команда буде така (згідно KB Microsoft):

subinacl.exe / Subkeyreg System \ CurrentControlSet \ Services \ VSS \ Diag / sddl = O: SYG: SYD: PAI (A ;; KA ;;; BA) (A ;; KA ;;; SY) (A ;; SDGRGW; ;; BO) (A ;; SDGRGW ;;; LS) (A ;; SDGRGW ;;; NS) (A; CIIO; RC ;;; S-1-3-4) (A ;; KR ;;; BU ) (A; CIIO; GR ;;; BU) (A; CIIO; GA ;;; BA) (A; CIIO; GA ;;; BO) (A; CIIO; GA ;;; LS) (A; CIIO; GA ;;; NS) (A; CIIO; GA ;;; SY) (A; CI; CCDCLCSW ;;; S-1-5-80-3273805168-4048181553-3172130058-210131473-390205191)

Потім в редакторі реєстру необхідно здійснити заміну дозволів на вкладені об'єкти. Для цього відкрийте властивості ключа Diag і виконайте "Permissions" -> "Advanced" -> "Replace all child object permissions ....».

Залишилося перезавантажити Windows.

PS. Уже в процесу написання статті виявив що існує ще одна помилка VSS з таким же (!!!) EventID 8193 з описом:

Volume Shadow Copy Service error: Unexpected error calling routine ConvertStringSidToSid (S-1-5-21-2470146651-3958396388-212345117-21232.bak). hr = 0x80070539, The security ID structure is invalid. Operation: OnIdentify event Gathering Writer Data Context: Execution Context: Shadow Copy Optimization Writer Writer Class Id: 4dc3bdd4-ab48-4d07-adb0-3bee2926fd7f Writer Name: Shadow Copy Optimization Writer Writer Instance ID: 5e5d68e6-9c97-4af6-a09f -bb2db4c65058 

Русский:

Помилка тіньового копіювання тому: Неочікувана помилка при виклику підпрограми ConvertStringSidToSid (S-1-5-21-2470146651-3958396388-212345117-21232.bak, Ідентифікатор безпеки має невірну структуру.

Щоб стаття була повнішою, залишу тут метод вирішення і цієї помилки.

Дана помилка перешкоджає виконанню резервному копіювання системи (System State Backup) з допомогу Windows Server Backup, який завершується з помилкою "0x80042308: The specified object was not found".

Проблема вирішується по іншому і пов'язана з наявністю некоректного запису в гілці реєстру з профілями користувачів HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList. Пов'язано з тим, що служба VSS (компонент Shadow Copy Optimization Writer) не може знайти профіль користувача з SID, що закінчується на .bak і випадає в помилку. Потрібно видалити ключ реєстру, який вказаний в описі події ConvertStringSidToSid (S-1-5-21-2470146651-3958396388-212345117-21232.bak).

  1. Відкрийте regedit.exe;
  2. Перейдіть в гілку HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList;
  3. Знайдіть і видаліть гілку реєстру з суфіксом .bak;
  4. Перезавантажте сервер і спробуйте виконати резервне копіювання.