Computer >> 컴퓨터 >  >> 시스템 >> Windows Server

Windows Server 역할/기능 추가·제거 실패: '서버를 다시 시작해야 함' 오류 해결 방법

Windows Server 2016에서 역할(Role)이나 기능(Feature)을 설치하려고 하면 다음과 같은 오류 메시지가 나타나는 경우가 있습니다.

The request to add or remove features on the specified server failed. The operation cannot be completed, because the server that you specified requires a restart

안내대로 서버를 다시 시작한 후 역할 설치를 다시 시도해도 같은 오류가 반복해서 발생합니다. 서버를 여러 번 재시작하고 최신 업데이트까지 모두 적용했음에도 불구하고, 결국 Windows Server에서 어떤 역할이나 기능도 설치하거나 제거할 수 없는 상황에 빠지게 됩니다.

Windows Server 역할/기능 추가·제거 실패:  서버를 다시 시작해야 함  오류 해결 방법

원인 확인: 이벤트 로그 분석

서버의 이벤트 뷰어(Event Viewer → Windows 로그 → 시스템)를 확인해 보면 Service Control Manager에서 발생한 이벤트 ID 7041 오류를 찾을 수 있습니다. 이벤트 설명은 다음과 같습니다.

This service account does not have the required user right "Log on as a service".

즉, 서비스 계정에 필수 사용자 권한인 "서비스로 로그온(Log on as a service)"이 부여되어 있지 않아 발생하는 문제입니다.

해결 방법: "서비스로 로그온" 권한 부여

문제를 해결하려면 NT SERVICE\ALL SERVICES 계정에 "서비스로 로그온" 권한을 부여해야 합니다. 오류가 WSUS 역할이나 SQL Server 역할 설치와 관련된 것이라면 NT SERVICE\MSSQL$MICROSOFT##WID 계정에도 동일한 권한을 부여해야 합니다.

1. 로컬 그룹 정책 편집기로 시도

  1. 실행 창에 gpedit.msc를 입력해 로컬 그룹 정책 편집기를 엽니다.
  2. 컴퓨터 구성 → Windows 설정 → 보안 설정 → 로컬 정책 → 사용자 권한 할당으로 이동합니다.
  3. 서비스로 로그온(Log on as a service) 정책을 찾습니다.
  4. 해당 정책에 NT SERVICE\ALL SERVICES가 없는 것을 확인할 수 있습니다. "사용자 또는 그룹 추가"로 추가하려고 하면 "이름을 찾을 수 없습니다(name not found)" 오류가 발생하며 추가할 수 없습니다.

Windows Server 역할/기능 추가·제거 실패:  서버를 다시 시작해야 함  오류 해결 방법

2. ntrights.exe 도구로 권한 부여

그렇다면 서비스 계정을 로컬 정책에 어떻게 추가할 수 있을까요? NT SERVICE\ALL SERVICES에 "서비스로 로그온" 권한을 부여할 수 있는 사실상 유일한 방법은 구버전 Windows Server 2003 Resource Kit에 포함된 ntrights.exe 도구를 사용하는 것입니다.

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

Windows Server 역할/기능 추가·제거 실패:  서버를 다시 시작해야 함  오류 해결 방법

현재 권한 목록에 NETWORK SERVICE가 없다면 이 계정도 함께 추가하는 것이 좋습니다. 필요한 경우 같은 방법으로 NT SERVICE\MSSQL$MICROSOFT##WID에도 권한을 부여합니다.

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

3. 결과 확인 및 서버 재시작

그룹 정책 편집기 콘솔의 "서비스로 로그온" 권한 목록에 NT SERVICE\ALL SERVICES가 정상적으로 추가되었는지 확인합니다.

Windows Server 역할/기능 추가·제거 실패:  서버를 다시 시작해야 함  오류 해결 방법

이제 Windows Server를 다시 시작한 후 역할 설치 또는 제거를 다시 시도합니다. 더 이상 오류가 발생하지 않고 정상적으로 진행될 것입니다.