사용자 계정 컨트롤 및 WMI

UAC(사용자 계정 컨트롤)는 명령줄 도구, 원격 액세스 및 스크립트 실행 방법에서 반환되는 WMI 데이터에 영향을 줍니다. UAC에 대한 자세한 내용은 사용자 계정 컨트롤을 사용하여 시작을 참조하세요.

다음 섹션에서는 UAC 기능에 대해 설명합니다.

사용자 계정 컨트롤

UAC에서 로컬 관리자 그룹의 계정에는 두 개의 액세스 토큰이 있으며, 하나는 표준 사용자 권한이 있는 토큰, 다른 하나는 관리자 권한이 있는 토큰입니다. UAC 액세스 토큰 필터링으로 인해 스크립트는 상승된 권한 모드에서 "관리자 권한으로" 실행되지 않는 한 일반적으로 표준 사용자 토큰에서 실행됩니다. 모든 스크립트에 관리자 권한이 필요한 것은 아닙니다.

스크립트는 표준 사용자 보안 토큰 또는 관리자 토큰에서 실행 중인지 여부를 프로그래밍 방식으로 확인할 수 없습니다. 액세스 거부 오류로 인해 스크립트가 실패할 수 있습니다. 스크립트에 관리자 권한이 필요한 경우 관리자 권한 모드에서 실행해야 합니다. WMI 네임스페이스에 대한 액세스는 스크립트가 관리자 권한 모드에서 실행되는지 여부에 따라 다릅니다. 데이터 가져오기 또는 대부분의 메서드 실행과 같은 일부 WMI 작업에서는 계정이 관리자 권한으로 실행되지 않아도 됩니다. 기본 액세스 권한에 대한 자세한 내용은 WMI 네임스페이스에 대한 액세스권한 있는 작업 실행을 참조하세요.

사용자 계정 컨트롤로 인해 스크립트를 실행하는 계정은 관리자 권한으로 실행할 수 있도록 로컬 컴퓨터의 관리자 그룹에 있어야 합니다.

다음 방법 중 하나를 수행하여 관리자 권한으로 스크립트 또는 애플리케이션을 실행할 수 있습니다.

관리자 권한 모드에서 스크립트를 실행하는 방법

  1. 시작 메뉴에서 명령 프롬프트를 마우스 오른쪽 단추로 클릭한 다음 관리자 권한으로 실행을 클릭하여 명령 프롬프트 창을 엽니다.
  2. 작업 스케줄러를 사용하여 관리자 권한으로 실행되도록 스크립트를 예약합니다. 자세한 내용은 실행 중인 작업에 대한 보안 컨텍스트를 참조하세요.
  3. 기본 제공 관리자 계정을 사용하여 스크립트를 실행합니다.

WMI 명령줄 도구를 실행하는 데 필요한 계정

다음 WMI 명령줄 도구를 실행하려면 계정이 관리자 그룹에 있어야 하며 관리자 권한 명령 프롬프트에서 도구를 실행해야 합니다. 기본 제공 관리자 계정은 이러한 도구를 실행할 수도 있습니다.

  • mofcomp

  • wmic

    시스템 설치 후 Wmic을 처음 실행할 때는 관리자 권한 명령 프롬프트에서 실행해야 합니다. WMI 작업에 관리자 권한이 필요하지 않은 경우 이후 Wmic 실행에 관리자 권한 모드가 필요하지 않을 수 있습니다.

  • winmgmt

  • wmiadap

WMI 컨트롤(Wmimgmt.msc)을 실행하고 WMI 네임스페이스 보안 또는 감사 설정을 변경하려면 계정에 명시적으로 부여된 보안 편집 권한이 있거나 계정이 로컬 관리자 그룹에 있어야 합니다. 기본 제공 관리자 계정은 네임스페이스에 대한 보안 또는 감사를 변경할 수도 있습니다.

Microsoft 고객 지원 서비스에서 지원하지 않는 명령줄 도구인 Wbemtest.exe는 특정 작업에 일반적으로 관리자 계정에 부여된 권한이 필요하지 않은 한 로컬 관리자 그룹에 있지 않은 계정에서 실행할 수 있습니다.

UAC에서 원격 연결 처리

도메인의 원격 컴퓨터에 연결하는지, 아니면 작업 그룹에 연결하는지에 따라 UAC 필터링 여부가 결정됩니다.

컴퓨터가 도메인의 일부인 경우 원격 컴퓨터의 로컬 관리자 그룹에 있는 도메인 계정을 사용하여 대상 컴퓨터에 연결합니다. 그런 다음 UAC 액세스 토큰 필터링은 로컬 관리자 그룹의 도메인 계정에 영향을 미치지 않습니다. 계정이 관리자 그룹에 있더라도 원격 컴퓨터에서 로컬 비도메인 계정을 사용하지 마세요.

작업 그룹에서 원격 컴퓨터에 연결하는 계정은 해당 컴퓨터의 로컬 사용자입니다. 계정이 관리자 그룹에 있더라도 UAC 필터링은 스크립트가 표준 사용자로 실행됨을 의미합니다. 특히 원격 연결을 위해 대상 컴퓨터에 전용 로컬 사용자 그룹 또는 사용자 계정을 만드는 것이 가장 좋습니다.

계정에 관리자 권한이 없기 때문에 이 계정을 사용할 수 있도록 보안을 조정해야 합니다. 로컬 사용자에게 다음을 제공합니다.

  • DCOM에 액세스할 수 있도록 원격 시작 및 활성화 권한. 자세한 내용은 원격 컴퓨터에서 WMI에 연결을 참조하세요.
  • 원격으로 WMI 네임스페이스에 액세스할 수 있는 권한(원격 사용). 자세한 내용은 WMI 네임스페이스에 대한 액세스를 참조하세요.
  • 개체에 필요한 보안에 따라 특정 보안 개체에 액세스할 수 있는 권한.

작업 그룹에 있거나 로컬 컴퓨터 계정이라서 로컬 계정을 사용하는 경우 로컬 사용자에게 특정 작업을 제공해야 할 수 있습니다. 예를 들어 사용자에게 SC.exe 명령, Win32_ServiceGetSecurityDescriptorSetSecurityDescriptor 메서드 또는 Gpedit.msc를 사용하는 그룹 정책을 통해 특정 서비스를 중지하거나 시작할 수 있는 권한을 부여할 수 있습니다. 일부 보안 개체는 표준 사용자가 작업을 수행하도록 허용하지 않을 수 있으며 기본 보안을 변경할 수 있는 수단을 제공하지 않을 수 있습니다. 이 경우 로컬 사용자 계정이 필터링되지 않고 대신 전체 관리자가 되도록 UAC를 비활성화해야 할 수 있습니다. 보안상의 이유로 UAC를 비활성화하는 것은 최후의 수단이어야 합니다.

원격 UAC를 제어하는 레지스트리 항목을 변경하여 원격 UAC를 비활성화하는 것은 권장되지 않지만 작업 그룹에서는 필요할 수 있습니다. 레지스트리 항목은 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\LocalAccountTokenFilterPolicy입니다. 이 항목의 값이 영(0)이면 원격 UAC 액세스 토큰 필터링이 사용하도록 설정됩니다. 값이 1이면 원격 UAC가 사용하지 않도록 설정됩니다.

스크립트 또는 애플리케이션에 반환된 WMI 데이터에 대한 UAC 효과

스크립트 또는 애플리케이션이 관리자 그룹의 계정으로 실행 중이지만 관리자 권한으로 실행되지 않는 경우 이 계정은 표준 사용자로 실행 중이므로 반환된 모든 데이터를 가져올 수 없습니다. 일부 클래스에 대한 WMI 공급자는 UAC 필터링으로 인해 전체 관리자로 실행되지 않는 표준 사용자 계정 또는 관리자 계정에 모든 인스턴스를 반환하지 않습니다.

다음 클래스는 계정이 UAC로 필터링될 때 일부 인스턴스를 반환하지 않습니다.

다음 클래스는 계정이 UAC로 필터링될 때 일부 속성을 반환하지 않습니다.

WMI 정보

WMI 보안 개체에 대한 액세스

보안 개체에 대한 액세스 보안 변경