При установці будь-якій ролі або компонента в Windows Server 2016 з’являється помилка, що сервер вимагає перезавантаження: “The operation cannot be completed, because the server that you specified requires a restart
“(Сбой запроса на добавление или удаление компонентов на указанном сервере. Не удается завершить операцию, так как требуется перезагрузить указанный сервер
). Ок, перезавантажуємо сервер, намагаємося встановити роль і знову з’являється помилка, що потрібне перезавантаження сервера. Але помилка повторюється, і так далі по циклу.
В результаті не виходить встановити / видалити жодну з ролей / компонентів на сервері.
У журналі подій сервера (Event Viewer -> Windows Logs -> System) при цьому фіксіруетсся помилка EventID 7041 від джерела Service Control Manager. У події зазначено:
This service account does not have the required user right "Log on as a service".
Щоб вирішити проблему, необхідно надати права входу в якості служби для “NT SERVICE ALL SERVICES» (і для NT SERVICE MSSQL $ MICROSOFT ## WID, якщо помилка пов’язана з установкою ролі сервера оновлень WSUS або SQL Server).
- Відкрийте консоль управління локальними політиками
gpedit.msc
; - Перейдіть в розділ Конфігурація комп’ютера –> Налаштування Windows –> Налаштування безпеки –> Місцева політика –> Призначення прав користувача;
- Знайдіть політику Увійдіть як сервіс (Вхід в якості служби);
- Як ви бачите, в політиці входу як служби відсутня NT SERVICE ALL SERVICES. Спробуємо її додати -> Add User or Group -> NT SERVICE ALL SERVICES. З’являється помилка: система не може знайти цю службовому обліковому записі;
Як же додати в локальну політику сервісну обліковий запис? Єдиний нормальний спосіб, який мені вдалося знайти, щоб надати права “Log on as a service” для NT SERVICE ALL SERVICES – скористатися утилітою ntrights.exe (З старого пакета Набір ресурсів Windows Server 2003).
Скачайте і встановіть Server 2003 Resource Kit (rktools.exe), потім надайте право SeServiceLogonRight командами:
cd “C:Program Files (x86)Windows Resource KitsTools”
ntrights.exe +r SeServiceLogonRight -u “NT SERVICEALL SERVICES”
Granting SeServiceLogonRight to NT SERVICEALL SERVICES ... successful
ntrights.exe +r SeServiceLogonRight -u “NT SERVICEMSSQL$MICROSOFT##WID”
Перевіряємо, що NT SERVICE ALL SERVICES з’явилося в дозволах “Log on as a service” в консолі редактора політики.
Перезавантажте свій Windows Server і спробуйте встановити / видалити роль. Все повинно пройти без помилки.