사용자 계정 컨트롤 및 WMI
UAC(사용자 계정 컨트롤)는 명령줄 도구, 원격 액세스 및 스크립트 실행 방법에서 반환되는 WMI 데이터에 영향을 줍니다. UAC에 대한 자세한 내용은 사용자 계정 컨트롤시작하세요.
다음 섹션에서는 UAC 기능에 대해 설명합니다.
- 사용자 계정 컨트롤
- WMI Command-Line 도구 실행하는 데 필요한 계정
- UAC 원격 연결 처리
- 스크립트 또는 애플리케이션 반환된 WMI 데이터에 대한 UAC 효과
- 관련 항목
사용자 계정 컨트롤
UAC에서 로컬 Administrators 그룹의 계정에는두 개의액세스 토큰이 있습니다. 하나는 표준 사용자 권한과 관리자 권한이 있는 토큰입니다. UAC 액세스 토큰 필터링으로 인해 스크립트는 상승된 권한 모드에서 "관리자 권한으로" 실행되지 않는 한 일반적으로 표준 사용자 토큰으로 실행됩니다. 모든 스크립트에 관리 권한이 필요한 것은 아닙니다.
스크립트는 표준 사용자 보안 토큰 또는 관리자 토큰에서 실행되는지 여부를 프로그래밍 방식으로 확인할 수 없습니다. 액세스 거부 오류로 스크립트가 실패할 수 있습니다. 스크립트에 관리자 권한이 필요한 경우 관리자 모드에서 실행해야 합니다. WMI 네임스페이스에 대한 액세스는 스크립트가 관리자 권한 모드에서 실행되는지 여부에 따라 다릅니다. 데이터 가져오기 또는 대부분의 메서드 실행과 같은 일부 WMI 작업은 계정이 관리자 권한으로 실행되도록 요구하지 않습니다. 기본 액세스 권한에 대한 자세한 내용은 WMI 네임스페이스 액세스 및 권한 있는 작업 실행 참조하세요.
사용자 계정 컨트롤 때문에 스크립트를 실행하는 계정은 관리자 권한으로 실행할 수 있도록 로컬 컴퓨터의 관리자 그룹에 있어야 합니다.
다음 방법 중 하나를 수행하여 상승된 권한으로 스크립트 또는 애플리케이션을 실행할 수 있습니다.
관리자 권한 모드에서 스크립트를 실행하려면
- 시작 메뉴에서 명령 프롬프트를 마우스 오른쪽 단추로 클릭한 다음 관리자 권한으로 실행클릭하여 명령 프롬프트 창을 엽니다.
- 작업 스케줄러를 사용하여 스크립트가 관리자 권한으로 실행되도록 예약합니다. 자세한 내용은 작업 실행하기 위한보안 컨텍스트를 참조하세요.
- 기본 제공 관리자 계정을 사용하여 스크립트를 실행합니다.
WMI Command-Line 도구를 실행하는 데 필요한 계정
다음 WMI Command-Line 도구실행하려면 계정이 관리자 그룹에 있어야 하며 관리자 권한 명령 프롬프트에서 도구를 실행해야 합니다. 기본 제공 관리자 계정은 이러한 도구를 실행할 수도 있습니다.
-
시스템 설치 후 Wmic을 처음 실행할 때 관리자 권한 명령 프롬프트에서 실행해야 합니다. WMI 작업에 관리자 권한이 필요하지 않으면 Wmic의 후속 실행에 관리자 모드가 필요하지 않을 수 있습니다.
WMI 컨트롤(Wmimgmt.msc)을 실행하고 WMI 네임스페이스 보안 또는 감사 설정을 변경하려면 계정에 명시적으로 보안 편집 권한이 부여되거나 로컬 관리자 그룹에 있어야 합니다. 기본 제공 관리자 계정은 네임스페이스에 대한 보안 또는 감사를 변경할 수도 있습니다.
Microsoft 고객 지원 서비스에서 지원되지 않는 명령줄 도구인 Wbemtest.exe특정 작업에 관리자 계정에 일반적으로 부여되는 권한이 필요하지 않은 한 로컬 관리자 그룹에 없는 계정에서 실행할 수 있습니다.
UAC에서 원격 연결 처리
도메인의 원격 컴퓨터에 연결하든 작업 그룹에 연결하든 UAC 필터링이 발생하는지 여부를 결정합니다.
컴퓨터가 도메인의 일부인 경우 원격 컴퓨터의 로컬 관리자 그룹에 있는 도메인 계정을 사용하여 대상 컴퓨터에 연결합니다. 그런 다음 UAC 액세스 토큰 필터링은 로컬 관리자 그룹의 도메인 계정에 영향을 미치지 않습니다. 계정이 Administrators 그룹에 있더라도 원격 컴퓨터에서 로컬 비도메인 계정을 사용하지 마세요.
작업 그룹에서 원격 컴퓨터에 연결하는 계정은 해당 컴퓨터의 로컬 사용자입니다. 계정이 Administrators 그룹에 있더라도 UAC 필터링은 스크립트가 표준 사용자로 실행됨을 의미합니다. 특히 원격 연결을 위해 대상 컴퓨터에 전용 로컬 사용자 그룹 또는 사용자 계정을 만드는 것이 가장 좋습니다.
계정에 관리 권한이 없기 때문에 이 계정을 사용할 수 있도록 보안을 조정해야 합니다. 로컬 사용자에게 다음을 제공합니다.
- DCOM에 액세스할 수 있는 권한을 원격으로 시작하고 활성화합니다. 자세한 내용은 원격 컴퓨터 WMI에 연결하는참조하세요.
- 원격으로 WMI 네임스페이스에 액세스할 수 있는 권한(원격 사용). 자세한 내용은 WMI 네임스페이스대한 액세스를 참조하세요.
- 개체에 필요한 보안에 따라 특정 보안 개체에 액세스할 수 있습니다.
작업 그룹에 있거나 로컬 컴퓨터 계정이므로 로컬 계정을 사용하는 경우 로컬 사용자에게 특정 작업을 제공해야 할 수 있습니다. 예를 들어 사용자에게 SC.exe 명령, GetSecurityDescriptor 및 SetSecurityDescriptorWin32_Service메서드를 통해 또는 Gpedit.msc를 사용하여 그룹 정책을 통해 특정 서비스를 중지하거나 시작할 수 있는 권한을 부여할 수 있습니다. 일부 보안 개체는 표준 사용자가 작업을 수행하도록 허용하지 않을 수 있으며 기본 보안을 변경할 방법을 제공하지 않을 수 있습니다. 이 경우 로컬 사용자 계정이 필터링되지 않고 대신 전체 관리자가 되도록 UAC를 사용하지 않도록 설정해야 할 수 있습니다. 보안상의 이유로 UAC를 사용하지 않도록 설정하는 것이 최후의 수단이어야 합니다.
원격 UAC를 제어하는 레지스트리 항목을 변경하여 원격 UAC를 사용하지 않도록 설정하는 것은 권장되지 않지만 작업 그룹에서 필요할 수 있습니다. 레지스트리 항목은 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\정책\시스템\LocalAccountTokenFilterPolicy. 이 항목의 값이 0이면 원격 UAC 액세스 토큰 필터링이 활성화됩니다. 값이 1이면 원격 UAC를 사용할 수 없습니다.
스크립트 또는 애플리케이션에 반환된 WMI 데이터에 대한 UAC 효과
스크립트 또는 애플리케이션이 관리자 그룹의 계정으로 실행 중이지만 관리자 권한으로 실행되지 않는 경우 이 계정이 표준 사용자로 실행 중이므로 반환된 모든 데이터를 가져올 수 없습니다. 일부 클래스에 대해WMI공급자는 UAC 필터링으로 인해 전체 관리자로 실행되지 않는 표준 사용자 계정 또는 관리자 계정에 모든 인스턴스를 반환하지 않습니다.
다음 클래스는 계정이 UAC에 의해 필터링될 때 일부 인스턴스를 반환하지 않습니다.
- Win32_Bus
- Win32_Printer
- Win32_ComponentCategory
- Win32_LogicalProgramGroupItem
- Win32_LogicalProgramGroup
- Win32_NetworkConnection
- Win32_UserAccount
- Win32_PrinterDriver
- Win32_PortResource
- Win32_DeviceMemoryAddress
다음 클래스는 계정이 UAC에 의해 필터링될 때 일부 속성을 반환하지 않습니다.
- Win32_NetworkAdapterConfiguration
- Win32_DCOMApplicationSetting
- Win32_DCOMApplication
- Win32_Baseboard
- Win32_ComputerSystem
- Win32_NetworkAdapter
- Win32_MotherboardDevice
- Win32_DiskDrive
- Win32_PnPEntity
- Win32_VideoController
- Win32_ParallelPort
- Win32_LogicalDisk
- Win32_SystemDriver
- Win32_IRQResource
- Win32_NetworkProtocol
관련 항목