Ошибка установки/удаления ролей в Windows Server: не удается завершить операцию, требуется перезагрузить сервер

При установке любой роли или компонента в Windows Server 2016 появляется ошибка, что сервер требует перезагрузки: “The operation cannot be completed, because the server that you specified requires a restart” (Сбой запроса на добавление или удаление компонентов на указанном сервере. Не удается завершить операцию, так как требуется перезагрузить указанный сервер). Ок, перезагружаем сервер, пытаемся установить роль и опять появляется ошибка, что нужна перезагрузка сервера. Но ошибка повторяется, и так дальше по циклу.

Windows Server 2016 Не удается завершить операцию, так как требуется перезагрузить указанный сервер

В результате не получается установить/удалить ни одну из ролей/компонентов на сервере.

В журнале событий сервера (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).

  1. Откройте консоль управления локальными политиками gpedit.msc;
  2. Перейдите в раздел Computer Configuration –> Windows Settings –> Security Settings –> Local Policies –> User Rights Assignment;
  3. Найдите политику Log on as a service (Вход в качестве службы);
  4. Как вы видите, в политике входа как службы отсутствует NT SERVICE\ALL SERVICES. Попробуем ее добавить -> Add User or Group -> NT SERVICE\ALL SERVICES. Появляется ошибка: система не может найти эту служебную учетную запись;
    Политика "Вход в качестве службы", не могу найти NT SERVICE\ALL SERVICES

Как же добавить в локальную политику сервисную учетную запись? Единственный вменяемый способ, который мне удалось найти, чтобы предоставить права “Log on as a service” для NT SERVICE\ALL SERVICES – воспользоваться утилитой ntrights.exe (из старого пакета Windows Server 2003 Resource Kit).

Скачайте и установите Server 2003 Resource Kit (rktools.exe), затем предоставьте право SeServiceLogonRight командами:

cd “C:\Program Files (x86)\Windows Resource Kits\Tools”
ntrights.exe +r SeServiceLogonRight -u “NT SERVICE\ALL SERVICES”

Granting SeServiceLogonRight to NT SERVICE\ALL SERVICES ... successful

ntrights.exe дать права SeServiceLogonRight

Если в списке текущих прав отсутствует NETWORK SERVICE, обязательно добавьте и этот аккаунт. Если нужно, добавьте аналогично права для NT SERVICE\MSSQL$MICROSOFT##WID:

ntrights.exe +r SeServiceLogonRight -u “NT SERVICE\MSSQL$MICROSOFT##WID”

Проверяем, что NT SERVICE\ALL SERVICES появилось в разрешениях “Log on as a service” в консоли редактора политики.

Log on as a service NT SERVICE\ALL SERVICES

Перезагрузите свой Windows Server и попробуйте установить/удалить роль. Все должно пройти без ошибки.


Предыдущая статья Следующая статья


Комментариев: 0 Оставить комментарий

Оставить комментарий

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

Я не робот( Обязательно отметьте)