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

GPResult 명령어로 적용된 GPO 및 RSoP 데이터 확인하는 완벽 가이드

GPResult.exe는 Active Directory 도메인 환경에서 사용자 및/또는 컴퓨터에 적용된 RSoP(Resultant Set of Policy, 결과 정책 집합)를 조회하는 명령줄 도구입니다. GPResult를 활용하면 컴퓨터와 사용자에게 적용된 도메인 정책(GPO) 목록, 정책 설정 세부 내용, GPO 처리 시간, 발생한 오류까지 확인할 수 있습니다. Windows에서 그룹 정책 설정을 분석하고 그룹 정책 관련 문제를 해결할 때 관리자들이 가장 널리 사용하는 필수 도구입니다.

이 글에서는 GPResult 명령어를 사용하여 Active Directory 도메인의 Windows에 적용된 그룹 정책 설정을 진단, 디버깅, 분석하는 방법을 자세히 살펴보겠습니다.

GPResult(그룹 정책 결과) 명령어 사용 방법

GPResult 명령어는 그룹 정책 적용 여부를 확인하려는 대상 컴퓨터에서 실행해야 합니다. GPResult의 기본 구문은 다음과 같습니다.

GPRESULT [/S system [/U username [/P [password]]]] [/SCOPE scope] [/USER targetusername] [/R | /V | /Z] [(/X | /H) <filename> [/F]]

특정 사용자 또는 컴퓨터에 적용된 그룹 정책과 GPO 인프라 관련 설정(RSoP 포함)에 대한 상세 정보를 확인하려면 명령 프롬프트를 열고 다음 명령을 실행합니다.

Gpresult /r

이 명령의 결과는 두 개의 섹션으로 구분됩니다.

  • COMPUTER SETTINGS — 컴퓨터(Active Directory 개체로서)에 적용된 그룹 정책 개체 정보가 포함됩니다.
  • USER SETTINGS — 사용자 정책 섹션으로, 해당 AD 사용자 계정에 적용된 정책이 표시됩니다.

관리자에게 유용한 GPResult 출력의 주요 항목들을 간략히 정리하면 다음과 같습니다.

  • Site Name — 컴퓨터가 속한 AD 사이트의 이름입니다.
  • CN — RSoP 데이터가 생성된 사용자/컴퓨터의 전체 정식 이름입니다.
  • Last time Group Policy was applied — 그룹 정책 설정이 마지막으로 적용(갱신)된 시간입니다.
  • Group Policy was applied from — 최신 GPO 버전을 다운로드한 도메인 컨트롤러의 이름입니다.
  • Domain Name and Domain Type — Active Directory 도메인 스키마의 이름과 버전 번호입니다.
  • Applied Group Policy Objects — 실제 적용된 GPO 목록입니다.
  • The following GPOs were not applied because they were filtered out — 어떤 이유로든 적용되지 않은 GPO 목록입니다.
  • The user is a part of the following security groups — 사용자가 소속된 도메인 보안 그룹 목록입니다.

GPResult 명령어로 적용된 GPO 및 RSoP 데이터 확인하는 완벽 가이드

위 예시에서는 사용자 개체에 4개의 그룹 정책이 적용된 것을 확인할 수 있습니다.

  • Disable Cached Credentials(캐시된 자격 증명 비활성화)
  • DNS Suffix Search List(DNS 접미사 검색 목록)
  • Enable Windows Firewall(Windows 방화벽 활성화)
  • Default Domain Policy(기본 도메인 정책)

또한 이 보고서에는 로컬 그룹 정책 편집기(gpedit.msc)를 통해 구성된 로컬 정책 설정 정보도 함께 표시됩니다.

/scope 옵션을 사용하면 사용자 또는 컴퓨터 정책만 선택적으로 표시할 수 있습니다.

사용자 정책만 조회:

gpresult /r /scope:user

컴퓨터 정책만 조회:

gpresult /r /scope:computer

단, 관리자 권한이 없는 일반 사용자 계정으로 컴퓨터 개체에 적용된 GPO 목록을 조회하려고 하면 액세스 거부 오류가 반환됩니다.

ERROR: Access Denied.

GPResult 명령어로 적용된 GPO 및 RSoP 데이터 확인하는 완벽 가이드

RSoP 데이터를 더 편리하게 파싱하고 분석하려면 GPResult 결과를 클립보드로 전송할 수 있습니다.

Gpresult /r |clip

또는 텍스트 파일로 저장할 수도 있습니다.

Gpresult /r > c:\ps\gpresult.txt

더 상세한 RSoP 정보를 표시하려면 /z 스위치를 추가합니다.

Gpresult /r /z

예를 들어 아래 스크린샷은 컴퓨터에 적용된 도메인 암호 정책 설정을 보여줍니다.

GPResult 명령어로 적용된 GPO 및 RSoP 데이터 확인하는 완벽 가이드

GPResult로 RSoP 보고서를 HTML로 내보내기

GPResult는 적용된 결과 정책에 대한 HTML 보고서를 생성할 수 있습니다(Windows 7 이상에서 지원). 이 보고서에는 그룹 정책에 의해 설정된 모든 시스템 설정과 해당 설정을 지정한 GPO 이름이 상세하게 기록되어 있습니다. GPResult의 HTML 보고서는 그룹 정책 관리 콘솔(gpmc.msc)의 설정(Settings) 탭과 구조적으로 유사합니다. 다음 명령으로 RSoP HTML 보고서를 생성할 수 있습니다.

GPResult /h c:\PS\gpo-report.html /f

HTML 파일의 전체 경로를 지정하지 않으면 GPResult HTML 보고서는 %WINDIR%\system32 폴더에 저장되니 주의해야 합니다.

GPResult 명령어로 적용된 GPO 및 RSoP 데이터 확인하는 완벽 가이드

보고서를 생성하고 자동으로 브라우저에서 열려면 다음 명령을 실행합니다.

GPResult /h GPResult.html & GPResult.html

GPResult HTML 보고서에는 매우 유용한 정보가 많이 담겨 있습니다. GPO 적용 오류, 특정 정책 및 CSE(Client Side Extensions)별 처리 시간(밀리초 단위)을 Computer Details → Component Status 섹션에서 확인할 수 있습니다. GPO 처리가 오래 걸리는 원인을 파악해야 할 때 특히 유용합니다.

예를 들어 위 스크린샷에서 Enforce password history(암호 기록 강제 적용) 정책이 "24 passwords remembered(기억되는 암호 수 24개)" 설정과 함께 Default Domain Policy에 의해 적용되고 있는 것(Winning GPO 열)을 확인할 수 있습니다.

HTML 보고서를 활용하면 컴퓨터에 적용된 GPO의 결과 집합을 시각적으로 이해하기 쉬운 형태로 확인할 수 있다는 장점이 있습니다.

GPResult로 원격 컴퓨터의 RSoP 데이터 가져오기

GPResult는 원격 컴퓨터에 직접 로컬 로그온하거나 RDP로 접속하지 않고도 결과 정책 집합을 조회할 수 있습니다.

GPResult /s remote-pc-name1 /r

gpresult 옵션을 통해 원격 컴퓨터 연결에 사용할 사용자 이름과 암호를 지정할 수도 있습니다.

gpresult /R /S wks2b21c /scope user /U corp\jsmith /P myPaSSw0rd1!

GPResult 명령어로 적용된 GPO 및 RSoP 데이터 확인하는 완벽 가이드

암호가 PowerShell 명령 기록에 남는 것을 원하지 않는다면, 암호를 대화형으로 입력받도록 할 수 있습니다.

gpresult /R /S wks2b21c /scope user /U corp\jsmith /P

같은 방식으로 사용자 정책과 컴퓨터 정책 데이터를 모두 원격으로 수집할 수 있습니다.

원격 컴퓨터에 로그온한 사용자의 이름을 모른다면 다음과 같이 사용자 이름을 확인할 수 있습니다.

qwinsta /SERVER:wks2b21c

gpresult 명령으로 생성하는 것과 유사한 RSoP HTML 보고서는 PowerShell을 통해서도 생성할 수 있습니다. 원격 컴퓨터의 결과 정책 보고서를 가져오려면 GroupPolicy 모듈의 Get-GPResultantSetOfPolicy cmdlet을 사용합니다.

Get-GPResultantSetOfPolicy -user jsmith -computer corp\wks2b21c -reporttype html -path c:\ps\gpo_rsop_report.html

GPResult: "사용자에게 RSoP 데이터가 없습니다" 오류 해결

UAC가 활성화된 상태에서 GPResult를 일반(승격되지 않은) 모드로 실행하면 그룹 정책 중 사용자 설정(USER SETTINGS) 섹션만 표시됩니다. 두 섹션(USER SETTINGS와 COMPUTER SETTINGS)을 모두 확인하려면 관리자 권한으로 실행된 명령 프롬프트에서 명령을 실행해야 합니다.

현재 사용자와 다른 계정으로 승격된 명령 프롬프트를 실행한 경우, 도구는 다음과 같은 경고를 표시합니다. INFO: The user "domain\user" does not have RSOP data. GPResult는 명령을 시작한 사용자의 데이터를 수집하려고 하지만, 해당 사용자가 로그인한 적이 없으면 RSoP 정보가 존재하지 않기 때문입니다. 활성 세션이 있는 사용자의 RSoP 정보를 수집하려면 해당 사용자의 계정을 명시적으로 지정해야 합니다.

gpresult /r /user:corp\edward

GPResult 명령어로 적용된 GPO 및 RSoP 데이터 확인하는 완벽 가이드

또한 클라이언트의 시간(및 시간대)도 확인해야 합니다. 클라이언트 시간은 FSMO PDC(주 도메인 컨트롤러) 역할을 수행하는 도메인 컨트롤러의 시간과 일치해야 합니다.

"필터링되어 적용되지 않은 GPO" 섹션 해석하기

적용된 그룹 정책을 문제 해결할 때는 The following GPOs were not applied because they were filtered out(다음 GPO가 필터링되어 적용되지 않았습니다) 섹션에 주목할 필요가 있습니다. 이 섹션에는 어떤 이유로든 해당 개체에 적용되지 않은 GPO 목록이 포함되어 있습니다. GPO가 특정 Active Directory 개체에 적용되지 않는 주요 원인은 다음과 같습니다.

  • Filtering: Not Applied (Empty) — 정책이 비어 있음(적용할 설정이 없음)
  • Filtering: Denied (Unknown Reason) — 사용자/컴퓨터에 해당 정책을 읽거나 적용할 권한이 없을 가능성이 높습니다. 권한은 그룹 정책 관리 콘솔(gpmc.msc)의 보안 탭에서 구성할 수 있습니다.
  • Filtering: Denied (Security)Apply Group Policy(그룹 정책 적용) 항목에 명시적인 거부가 설정되었거나, AD 개체가 GPO의 보안 필터링(Security Filtering) 섹션에 나열된 그룹에 속하지 않는 경우입니다.

GPResult 명령어로 적용된 GPO 및 RSoP 데이터 확인하는 완벽 가이드

또한 GPMC의 유효 권한 탭(고급 → Effective Access)에서 특정 GPO가 AD의 조직 구성 단위(OU) 또는 특정 개체에 적용되어야 하는지 확인할 수 있습니다.

Windows의 RSoP.msc 스냅인

초기에는 Windows에서 적용된 그룹 정책을 진단할 때 그래픽 콘솔인 RSOP.msc가 사용되었습니다. 이 MMC 스냅인을 사용하면 컴퓨터와 사용자에게 적용된 결과 정책(도메인 + 로컬)의 설정을 GPO 편집기 콘솔과 유사한 그래픽 형태로 확인할 수 있습니다. 아래 스크린샷의 RSOP.msc 콘솔은 Windows 업데이트 설정이 WSUS_SERVERS 정책에 의해 구성되었음을 보여줍니다.

GPResult 명령어로 적용된 GPO 및 RSoP 데이터 확인하는 완벽 가이드

그러나 최신 Windows 버전에서는 RSOP.msc만으로 적용된 GPO를 완전하게 분석할 수 없습니다. GPP(Group Policy Preferences)와 같은 CSE(Client Side Extensions)를 통해 적용된 설정이 표시되지 않고, 검색 기능도 없으며, 제공되는 진단 정보도 매우 제한적입니다. Windows 10과 11에서 rsop.msc를 실행하면 전체 GPO 보고서를 얻으려면 gpresult를 사용하라는 경고가 표시됩니다.

Vista부터 RSoP(결과 정책 집합) 보고서에는 모든 Microsoft 그룹 정책 설정이 표시되지 않습니다. 컴퓨터 또는 사용자에게 적용된 전체 Microsoft 그룹 정책 설정을 확인하려면 명령줄 도구 gpresult를 사용하십시오.

GPResult 명령어로 적용된 GPO 및 RSoP 데이터 확인하는 완벽 가이드

이 글에서는 GPResult 명령어를 사용하여 Windows에 적용된 결과 그룹 정책을 분석하는 방법을 살펴보았습니다. 도메인 환경에서 GPO 문제를 해결할 때는 "클라이언트에 그룹 정책이 적용되지 못하게 하는 일반적인 문제" 가이드도 함께 참고하시면 큰 도움이 될 것입니다.