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

Windows 로컬 그룹 정책(GPO) 설정을 기본값으로 초기화하는 방법

Windows에서 사용자 및 시스템 설정을 구성하는 핵심 도구 중 하나가 바로 그룹 정책 개체(Group Policy Objects, GPO)입니다. 컴퓨터에 로컬로 적용되는 로컬 GPO와, Active Directory 도메인에 가입된 경우 적용되는 도메인 GPO가 있습니다. 그런데 일부 GPO 설정을 잘못 구성하면 여러 가지 문제가 발생할 수 있습니다. 예를 들어 USB 장치 연결 차단, 공유 프린터나 폴더 접근 제한, Windows Defender 방화벽 규칙에 의한 네트워크 접속 제한, SRP 또는 AppLocker 정책에 의한 앱 설치·실행 차단, 로컬 또는 원격 로그온 제한 등이 대표적입니다.

컴퓨터에 로컬로 로그온할 수 없거나, 어떤 GPO 설정이 문제를 일으키는지 정확히 알 수 없는 경우라면 스크립트를 사용해 그룹 정책 설정을 기본 상태로 초기화해야 합니다. '깨끗한' 초기 상태에서는 어떠한 그룹 정책 설정도 구성되어 있지 않습니다.

이 글에서는 로컬 및 도메인 그룹 정책 설정을 기본값으로 되돌리는 여러 가지 방법을 소개합니다. 이 가이드는 Windows 7부터 Windows 10까지 모든 지원 버전과, Windows Server의 모든 버전(2008/R2, 2012/R2, 2016, 2019)에서 활용할 수 있습니다.

로컬 그룹 정책 편집기(gpedit.msc) 설정을 기본값으로 초기화하는 방법

이 방법은 로컬 그룹 정책 편집기 콘솔(gpedit.msc)의 GUI를 사용하여 구성된 모든 정책 설정을 해제하는 방식입니다. 로컬 GPO 그래픽 편집기는 Windows 10의 Pro, Enterprise, Education 에디션에서만 사용할 수 있습니다.

참고: Windows Home 에디션에는 로컬 그룹 정책 편집기(gpedit.msc)가 포함되어 있지 않습니다.

gpedit.msc MMC 스냅인을 실행한 뒤 모든 설정(All Settings) 섹션(로컬 컴퓨터 정책 → 컴퓨터 구성 → 관리 템플릿)으로 이동합니다. 이 섹션에는 로컬 관리 템플릿 GPO에서 구성 가능한 모든 설정 목록이 표시됩니다. 정책을 상태(State) 열 기준으로 정렬하면 구성된 정책(사용 또는 사용 안 함 상태)을 쉽게 찾을 수 있습니다. 문제가 되는 항목을 구성되지 않음(Not Configured) 상태로 변경하여 전부 또는 일부만 해제하면 됩니다.

Security Compliance Manager에서 제공하는 LGPO.exe 도구를 사용하면 현재 로컬 GPO 설정을 백업해 둘 수 있습니다.

동일한 작업을 사용자 구성(User Configuration) 섹션에서도 반복합니다. 이렇게 하면 관리 템플릿 GPO의 모든 설정을 해제할 수 있습니다.

팁: 적용된 로컬 및 도메인 정책 설정 전체를 보기 좋은 HTML 보고서 형태로 확인하려면 내장 도구인 GPResult를 활용하세요.
gpresult /h c:\PS\GPRreport.html

위 방법은 비교적 간단한 경우에 적합합니다. 하지만 잘못된 GPO 구성은 더 심각한 문제를 일으킬 수 있습니다. 예를 들어 gpedit.msc 스냅인 자체나 다른 프로그램이 아예 실행되지 않거나, 관리자 권한을 잃었거나, 로컬 로그온이 제한되는 경우입니다. 이럴 때는 컴퓨터의 로컬 파일에 저장된 GPO 설정을 직접 초기화해야 합니다.

그룹 정책 파일 Registry.pol의 이해

Windows 그룹 정책 아키텍처는 특수한 Registry.pol 파일을 기반으로 동작합니다. 이 파일에는 구성된 GPO 설정에 해당하는 레지스트리 값들이 저장되며, 사용자 정책과 컴퓨터 정책은 서로 다른 Registry.pol 파일에 보관됩니다.

  • 컴퓨터 설정(컴퓨터 구성): %SystemRoot%\System32\GroupPolicy\Machine\registry.pol
  • 사용자 설정(사용자 구성): %SystemRoot%\System32\GroupPolicy\User\registry.pol

시스템 시작 시 Windows는 \Machine\Registry.pol 파일의 내용을 시스템 레지스트리 하이브 HKEY_LOCAL_MACHINE(HKLM)으로 가져옵니다. \User\Registry.pol 파일의 내용은 사용자가 로그온할 때 HKEY_CURRENT_USER(HKCU) 하이브로 가져옵니다.

로컬 GPO 편집기 콘솔을 열면 registry.pol 파일의 내용을 불러와 사용자 친화적인 그래픽 형태로 보여줍니다. 편집기를 닫으면 변경 사항이 Registry.pol 파일에 저장되고, gpupdate /force 명령이나 예약된 주기에 따라 정책을 갱신하면 새 설정이 레지스트리에 적용됩니다.

주의: Registry.pol 파일을 수정할 때는 반드시 로컬 GPO 편집기 콘솔만 사용해야 합니다. 파일을 직접 편집하거나 구버전 그룹 정책 편집기를 사용하는 것은 권장하지 않습니다.

현재 적용된 모든 로컬 GPO 설정을 제거하려면 GroupPolicy 및 GroupPolicyUsers 폴더 안의 Registry.pol 파일들을 삭제해야 합니다.

Windows 10/Windows Server 2016에서 로컬 그룹 정책 설정 한 번에 초기화하기

현재 적용된 모든 로컬 그룹 정책 설정을 강제로 초기화하려면 Registry.pol 파일을 삭제해야 합니다. 정책 구성 파일이 들어 있는 디렉터리를 통째로 삭제해도 무방합니다. 관리자 권한 명령 프롬프트에서 다음 명령을 실행하세요.

RD /S /Q "%WinDir%\System32\GroupPolicyUsers"
RD /S /Q "%WinDir%\System32\GroupPolicy"

Windows 10 2004 버전부터는 RD.exe 명령이 제거되었으므로, 디렉터리 삭제 시 RMDIR.exe 명령을 사용해야 합니다.

이후 깨끗한 GPO를 적용하여 레지스트리에 남아 있는 기존 GPO 설정을 초기화합니다.

gpupdate /force

위 명령들은 컴퓨터 구성과 사용자 구성 두 섹션의 모든 로컬 그룹 정책 설정을 초기화합니다.

gpedit.msc를 열어 모든 정책이 구성되지 않음 상태인지 확인하세요. gpedit.msc 콘솔을 실행하면 삭제된 GroupPolicyUsers와 GroupPolicy 폴더가 빈 Registry.pol 파일과 함께 자동으로 다시 생성됩니다.

다음에 그룹 정책을 변경하면 Windows가 새로운 설정 내용으로 Registry.pol 파일을 새로 만듭니다.

Windows에서 로컬 보안 정책 설정을 기본값으로 초기화하기

로컬 보안 정책은 별도의 MMC 콘솔인 secpol.msc에서 구성합니다. 컴퓨터 문제가 로컬 보안 설정을 지나치게 엄격하게 구성해서 생긴 것이고, 아직 Windows에 로컬 접근 권한과 관리자 권한이 있다면 보안 정책을 기본값으로 되돌리는 것이 좋습니다. cmd.exe를 관리자 권한으로 실행한 후 다음 명령을 입력하세요.

  • Windows 10, Windows 8.1/8, Windows 7: secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
  • Windows XP: secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /verbose

명령 실행 후 컴퓨터를 재시작합니다.

그래도 보안 정책 관련 문제가 계속된다면, 로컬 보안 정책 데이터베이스의 체크포인트 파일 %windir%\security\database\edb.chk의 이름을 수동으로 변경해 보세요.

ren %windir%\security\database\edb.chk edb_old.chk

이후 다음 명령을 실행합니다.
gpupdate /force

마지막으로 shutdown 명령으로 Windows를 재시작합니다.
Shutdown –f –r –t 0

로그온 없이 로컬 GPO 설정 초기화하기

Windows 부팅이나 로그온이 불가능하고, GPSVC 서비스가 실행되지 않으며, 로컬 관리자 권한이 없거나 명령 프롬프트를 열 수 없는 경우(예: AppLocker/SRP 정책으로 앱 실행이 차단된 경우)에는 Windows 설치 DVD, USB 부팅 미디어 또는 LiveCD로 컴퓨터를 부팅하여 설치된 Windows 이미지 외부에서 로컬 GPO를 초기화할 수 있습니다.

  1. Windows 설치 미디어로 부팅한 후 명령 프롬프트를 엽니다(Shift+F10).
  2. diskpart를 실행합니다.
    diskpart
  3. 볼륨 목록을 확인합니다.
    list volume
    일반적으로 시스템 볼륨에 할당된 드라이브 문자가 C:\와 일치하지만, 환경에 따라 다를 수 있습니다. 아래 명령은 실제 시스템 드라이브(예: D:\ 또는 C:\) 기준으로 실행해야 합니다.
  4. diskpart를 종료합니다.
    exit
  5. 다음 명령을 순서대로 실행합니다.
    RD /S /Q C:\Windows\System32\GroupPolicy
    RD /S /Q C:\Windows\System32\GroupPolicyUsers
  6. 컴퓨터를 정상 모드로 재시작하고, 로컬 그룹 정책 설정이 기본 상태로 초기화되었는지 확인합니다.

도메인에서 적용된 GPO 설정을 삭제하고 초기화하는 방법

도메인 그룹 정책에 대해 몇 가지 짚고 넘어가겠습니다. 컴퓨터가 Active Directory 도메인에 가입되어 있다면 일부 설정은 도메인 기반 GPO에 의해 지정됩니다.

적용된 모든 도메인 그룹 정책의 registry.pol 파일은 %windir%\System32\GroupPolicy\DataStore\0\SysVol\contoso.com\Policies 디렉터리에 저장되며, 각 정책은 도메인 정책 GUID 이름을 가진 별도의 폴더에 보관됩니다. 컴퓨터가 AD 도메인에서 탈퇴하면 해당 registry.pol 파일들이 삭제되고 부팅 시 레지스트리로 불러오지 않습니다. 하지만 간혹 도메인에서 탈퇴했음에도 GPO 설정이 계속 적용되는 경우가 있습니다.

이러한 registry.pol 파일에 해당하는 레지스트리 키는 다음과 같습니다.

  • HKLM\Software\Policies\Microsoft
  • HKCU\Software\Policies\Microsoft
  • HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects
  • HKCU\Software\Microsoft\Windows\CurrentVersion\Policies

클라이언트에 적용되었던 도메인 GPO의 버전 기록은 다음 레지스트리 키에 저장됩니다.

  • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\History\
  • HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy\History\

적용된 도메인 GPO의 로컬 캐시는 C:\ProgramData\Microsoft\Group Policy\History에 저장됩니다. 이 디렉터리의 파일은 다음 명령으로 삭제할 수 있습니다.

DEL /S /F /Q "%PROGRAMDATA%\Microsoft\Group Policy\History\*.*"

도메인 GPO 설정을 강제로 제거해야 한다면, %windir%\System32\GroupPolicy\DataStore\0\SysVol\contoso.com\Policies 디렉터리를 정리하고 위에서 언급한 레지스트리 키들을 삭제해야 합니다(삭제 전에 파일과 레지스트리 항목을 반드시 백업하기를 권장합니다!).

gpupdate /force /boot

참고: 위에서 소개한 방법들은 Windows의 모든 로컬 GPO 설정을 초기화하며, 그룹 정책 편집기로 수행한 모든 설정이 리셋됩니다. 다만 regedit.exe, REG 파일, 도메인 레지스트리 GPP 등 레지스트리를 직접 수정한 변경 사항은 초기화되지 않습니다.