Windows의 사용자 단위 서비스

사용자가 Windows에 로그인하면 OS는 사용자별 서비스를 만듭니다. 사용자가 로그아웃하면 이러한 서비스가 중지되고 삭제됩니다. 기본 제공 보안 주체 대신 사용자 계정의 보안 컨텍스트에서 실행됩니다. 이 동작은 미리 구성된 계정 또는 작업과 연결된 이러한 서비스를 실행하는 이전 방식보다 더 나은 리소스 관리를 제공합니다.

참고

사용자별 서비스는 데스크톱 환경을 설치하는 경우에만 Windows Server에서 사용할 수 있습니다. 자세한 내용은 Server Core 및 데스크톱 환경 설치 옵션을 사용하여 서버를 참조하세요.

Windows는 레지스트리에 정의된 템플릿을 기반으로 이러한 사용자별 서비스를 만듭니다. 이러한 서비스의 동작을 관리하거나 제어해야 하는 경우 템플릿을 조정할 수 있습니다. 예를 들어 템플릿 서비스의 시작 유형을 사용 안 함으로 설정할 수 있습니다. 이 예제에서 Windows는 중지됨 및 비활성화된 상태로 사용자별 서비스를 만듭니다.

중요

프로덕션 환경에 광범위하게 배포하기 전에 템플릿 서비스의 구성에 대한 변경 내용을 신중하게 테스트합니다.

이 문서의 정보를 사용하여 사용자별 서비스를 이해하고, 사용자 서비스 템플릿을 구성하고, 그룹 정책 및 보안 템플릿을 통해 사용자별 서비스를 관리합니다.

사용자별 서비스 목록

다음 표에서는 현재 버전의 Windows에서 사용자별 서비스를 나열합니다. 다른 버전의 Windows 10/11에는 동일한 서비스를 사용할 수 없을 수 있습니다.

이러한 서비스를 다시 구성하기 전에 이 정보를 검토하여 의미를 이해합니다. 예를 들어 사용자별 서비스를 사용하지 않도록 설정하면 제대로 작동하지 않는 종속 앱이 있을 수 있습니다.

표시 이름 서비스 이름 기본 시작 유형 종속성 설명
에이전트 활성화 런타임 AarSvc 수동 대화형 에이전트 애플리케이션을 활성화하기 위한 런타임입니다.
Bluetooth 사용자 지원 서비스 BluetoothUserService 수동 각 사용자 세션과 관련된 Bluetooth 기능의 적절한 기능을 지원합니다.
OneCore 캡처 서비스 CaptureService 수동 Windows.Graphics.Capture 네임스페이스의 화면 캡처 API를 호출하는 애플리케이션에 대해 선택적 화면 캡처 기능을 사용하도록 설정합니다.
클립보드 사용자 서비스 cbdhsvc 자동화됨(지연된 시작) Windows는 클립보드 시나리오에 이 사용자 서비스를 사용합니다. 예를 들어 클립보드 기록 또는 디바이스 간 동기화가 있습니다. 자세한 내용은 Windows의 클립보드를 참조하세요.
클라우드 백업 및 복원 서비스 CloudBackupRestoreSvc 수동 시스템에서 애플리케이션 및 설정 상태의 변경 내용을 모니터링합니다. 필요한 경우 이 서비스는 클라우드 백업 및 복원 작업을 수행합니다.
연결된 디바이스 플랫폼 사용자 서비스 CDPUserSvc 자동 - 네트워크 연결 브로커
- RPC(원격 프로시저 호출)
- TCP/IP 프로토콜 드라이버
이 서비스를 사용하면 사용자가 연결된 디바이스를 연결, 관리 및 제어할 수 있습니다. 이러한 연결된 디바이스에는 모바일, Xbox, HoloLens 또는 스마트/IoT 디바이스가 포함됩니다. 한 가지 구체적인 예제는 Windows에서 주변 디바이스와 항목 공유를 참조하세요.
동의 UX 사용자 서비스 ConsentUxUserSvc 수동 시스템에서 앱이 중요한 리소스 및 디바이스 위치와 같은 정보에 액세스할 수 있도록 사용자 동의를 요청할 수 있습니다.
연락처 데이터 PimIndexMaintenanceSvc 수동 UnistoreSvc 빠른 연락처 검색을 위해 연락처 데이터를 인덱싱합니다. 이 서비스를 중지하거나 사용하지 않도록 설정하면 검색 결과에서 연락처가 누락될 수 있습니다.
자격 증명 등록 관리자 CredentialEnrollmentManagerUserSvc 수동 이 서비스는 사용자 자격 증명의 보안 스토리지 및 검색을 지원합니다. 예를 들어 웹 사이트, 원격 데스크톱 연결 또는 기타 앱에 대한 토큰입니다.
디바이스 연결 브로커 DeviceAssociationBrokerSvc 수동 - DevicePicker
- 셸 페어링 UX
새 디바이스 시나리오에 대한 앱 내 페어링 및 액세스 검사를 지원합니다.
디바이스 선택기 DevicePickerUserSvc 수동 Windows는 이 사용자 서비스를 사용하여 Miracast, DLNA(Digital Living Network Alliance) 및 DIAL(검색 및 시작) 환경을 관리합니다.
디바이스 흐름 DevicesFlowUserSvc 수동 사용자 인터페이스 및 설정 연결 앱에서 WiFi 디스플레이 및 Bluetooth 디바이스와 연결하고 페어링할 수 있습니다.
게임 DVR 및 브로드캐스트 사용자 서비스 BcastDVRUserService 수동 Windows는 게임 녹화 및 라이브 브로드캐스트에 이 사용자 서비스를 사용합니다.
메시징 서비스 MessagingService 수동 이 서비스는 문자 메시지 및 관련 기능을 지원합니다.
이제 세션 관리자 재생 NPSMSvc 수동 현재 NPSM(세션 관리자) 서비스는 디바이스에서 실행되는 미디어 세션을 관리합니다.
플랜 9 리디렉션기 서비스 P9RdrService 수동 Linux용 Windows 하위 시스템 지원하는 트리거 시작 plan9 파일 서버를 사용하도록 설정합니다. 자세한 내용은 Bell Labs의 플랜 9를 참조하세요.
펜 서비스 PenService 수동 펜 입력 디바이스에서 테일 단추를 누르면 이 서비스가 해당 작업에 응답합니다. 애플리케이션을 시작하거나 설정에서 사용자 지정하는 다른 작업을 수행할 수 있습니다. 자세한 내용은 펜 디바이스에서 Surface 펜 또는 하드웨어 개발자 설명서를 사용하는 방법에 대한 사용자 설명서를 참조 하세요.
인쇄 워크플로 PrintWorkflowUserSvc 수동 인쇄 워크플로 애플리케이션에 대한 지원을 제공합니다. 이 서비스를 끄면 일부 인쇄 함수가 제대로 작동하지 않을 수 있습니다.
호스트 동기화 OneSyncSvc 자동화됨(지연된 시작) 이 서비스는 메일, 연락처, 일정 및 기타 사용자 데이터를 동기화합니다. 이 서비스가 중지되면 이 기능에 종속된 메일 및 기타 애플리케이션이 제대로 작동하지 않습니다.
UDK 사용자 서비스 UdkUserSvc 수동 Windows는 이 서비스를 사용하여 셸 환경 간에 조정합니다.
사용자 데이터 액세스 UserDataSvc 수동 UnistoreSvc 연락처 정보, 일정, 메시지 및 기타 콘텐츠를 포함하여 구조화된 사용자 데이터에 대한 액세스 권한을 앱에 제공합니다. 이 서비스를 중지하거나 사용하지 않도록 설정하면 이 데이터를 사용하는 앱이 제대로 작동하지 않을 수 있습니다.
사용자 데이터 스토리지 UnistoreSvc 수동 연락처 정보, 일정, 메시지 및 기타 콘텐츠를 포함하여 구조화된 사용자 데이터의 스토리지를 처리합니다. 이 서비스를 중지하거나 사용하지 않도록 설정하면 이 데이터를 사용하는 앱이 제대로 작동하지 않을 수 있습니다.
Web Threat Defense 사용자 서비스 webthreatdefusersvc 자동 이 서비스는 권한이 없는 엔터티가 자격 증명에 대한 액세스를 시도할 때 사용자에게 경고하여 컴퓨터를 보호하는 데 도움이 됩니다.
Windows 푸시 알림 사용자 서비스 WpnUserService 자동 이 서비스는 로컬 및 푸시 알림을 지원하는 WNS( Windows 푸시 알림 서비스 ) 플랫폼을 호스트합니다. 지원되는 알림은 타일, 알림 메시지 및 원시 알림입니다.

사용자별 서비스 보기

Windows 레지스트리 외부에서 사용자 서비스 템플릿을 볼 수는 없지만 사용자별 사용자별 서비스를 볼 수 있습니다. Windows는 다음 형식 <service name>_LUID 으로 이러한 서비스를 표시합니다. 여기서 <service name> 은 사용자 서비스의 표시 이름이고 LUID 는 사용자 컨텍스트에 대한 로컬 고유 식별자입니다.

예를 들어 다음과 같은 사용자별 서비스 이름이 표시될 수 있습니다.

  • Contact Data_443f50
  • Sync Host_443f50
  • User Data Access_443f50
  • User Data Storage_443f50

참고

모든 사용자별 서비스의 표시 이름과 서비스 이름에는 동일한 LUID 접미사가 포함됩니다.

Windows 서비스 콘솔에서 사용자별 서비스 보기

Windows에 로그인하면 를 실행 services.msc 하여 서비스 콘솔을 엽니다. 로컬 컴퓨터를 볼 때 사용자 계정에 대한 이러한 서비스를 볼 수 있습니다.

Windows PowerShell 사용하여 사용자별 서비스 보기

다음 PowerShell 스크립트는 사용자별 서비스를 쿼리하는 방법의 예입니다. 비트 값을 포함하는 64 서비스 유형 값을 쿼리합니다.

# Define the bit value for per-user services in the ServiceType property of a service object
$flag = 64

# Define an empty array to store the resulting services that match the criteria
$serviceList = @()

# Get all services on the computer and store them in the variable
$services = Get-Service

# Loop through each service in the array of services.
foreach ( $service in $services ) {
  # For each specific service, check if the service type property includes the 64 bit using the bitwise AND operator (-band).
  # If the result equals the flag value, then the service is a per-user service.
  if ( ( $service.ServiceType -band $flag ) -eq $flag ) { 
    # When a per-user service is found, then add that service object to the results array.
    $serviceList += $service
  }
}

# Display the results array, sorted by display name, in a table format with the specified properties.
$serviceList | Sort-Object DisplayName | Format-Table DisplayName, Name, StartType, ServiceType

명령줄에서 사용자별 서비스 보기

를 실행 cmd.exe 하여 Windows 명령 프롬프트를 엽니다. sc qc 명령을 사용하여 이러한 서비스를 쿼리합니다. Type 값은 서비스가 사용자 서비스 템플릿인지 아니면 사용자 서비스 instance 여부를 나타냅니다.

다음 예제에서는 게임 DVR 및 브로드캐스트 사용자 서비스(BcastDVRUserService) 서비스의 템플릿 및 사용자별 instance 쿼리합니다.

sc qc BcastDVRUserService
sc qc BcastDVRUserService_18f113

두 서비스에서 sc.exe qc를 실행하고 출력의 형식 값을 강조 표시하는 Windows 명령줄 세션의 스크린샷

사용자별 서비스를 사용하지 않도록 설정하는 방법

사용자 서비스에 대한 템플릿은 서비스 콘솔( services.msc )에 표시되지 않습니다. 사용자별 서비스를 사용하지 않도록 설정하려면 그룹 정책 또는 스크립팅된 솔루션을 사용하여 레지스트리를 직접 편집해야 합니다. 템플릿은 의 레지스트리 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services에 있습니다.

참고

사용자별 서비스를 사용하지 않도록 설정하면 사용자가 로그인할 때 Windows에서 여전히 해당 서비스를 만들지만 중지되고 비활성화된 상태입니다. 사용자가 로그아웃하면 Windows에서 사용자별 서비스를 제거합니다.

일반 그룹 정책 관리 방법을 사용하여 사용자별 서비스 템플릿을 모두 관리할 수는 없습니다. 사용자별 서비스는 서비스 관리 콘솔 표시되지 않으므로 그룹 정책 서비스 정책 편집기에도 표시되지 않습니다.

또한 보안 템플릿으로 관리할 수 없는 네 가지 사용자 서비스가 있습니다.

  • PimIndexMaintenanceSvc
  • UnistoreSvc
  • UserDataSvc
  • WpnUserService

이러한 제한을 사용하면 다음 방법을 사용하여 사용자별 서비스 템플릿을 관리할 수 있습니다.

  • 보안 템플릿과 스크립트 또는 그룹 정책 기본 설정 레지스트리 정책의 조합입니다.
  • 모든 서비스에 대한 정책 기본 설정을 그룹화합니다.
  • 모든 서비스에 대한 스크립트입니다.

보안 템플릿을 사용하여 템플릿 서비스 관리

보안 템플릿을 사용하여 CDPUserSvc 및 사용자별 OneSyncSvc 서비스를 관리할 수 있습니다.

예시:

[Unicode]
Unicode=yes
[Version]
signature="$CHICAGO$"
Revision=1
[Service General Setting]
"CDPUserSVC".4,""

스크립트를 사용하여 사용자별 서비스 관리

사용자별 서비스에 대한 시작 유형을 변경하는 스크립트를 만들 수 있습니다. 그런 다음 그룹 정책 또는 Microsoft Configuration Manager 같은 다른 관리 솔루션을 사용하여 대상 디바이스에 스크립트를 배포합니다.

예제 1: PowerShell cmdlet 사용 Set-Service

다음 샘플 스크립트는 Set-Service PowerShell cmdlet을 사용하여 PimIndexMaintenanceSvc 서비스 시작 유형을 사용하지 않도록 구성합니다.

Set-Service -Name PimIndexMaintenanceSvc -StartupType Disabled

예제 2: 명령줄 사용 sc.exe config

다음 샘플 스크립트는 를 사용하여 sc.exe config PimIndexMaintenanceSvc 서비스 시작 유형을 사용하지 않도록 구성합니다.

sc.exe configure PimIndexMaintenanceSvc start= disabled

참고

이후 = 의 공간은 의도적입니다.

그룹 정책 기본 설정을 사용하여 템플릿 서비스 관리

보안 템플릿을 사용하여 사용자별 서비스를 사용하지 않도록 설정할 수 없는 경우 그룹 정책 기본 설정을 사용합니다.

  1. 그룹 정책 관리 콘솔(gpmc.msc)을 엽니다.

  2. 새 GPO(그룹 정책 개체)를 만들거나 기존 GPO를 사용합니다.

  3. GPO를 편집하여 그룹 정책 개체 편집기를 시작합니다.

  4. 그룹 정책을 대상으로 지정하려는 방법에 따라 컴퓨터 구성 또는 사용자 구성 에서 기본 설정, Windows 설정으로 이동하고 레지스트리를 선택합니다.

  5. 작업 메뉴로 이동하여 새로 만들기를 선택하고 레지스트리 항목을 선택합니다.

    새 레지스트리 항목을 만들기 위해 레지스트리 기본 설정의 상황에 맞는 메뉴를 강조 표시하는 그룹 정책 관리 편집기 스크린샷

  6. Hive에 대해 를 선택합니다HKEY_LOCAL_MACHINE.

    HKEY_LOCAL_MACHINE 설정된 Hive 값을 강조 표시하는 새 레지스트리 속성 창 스크린샷

  7. 키 경로 옆에 있는 타원(...)을 선택합니다. 으로 이동 System\CurrentControlSet\Services 한 다음, 사용자 서비스 템플릿을 선택합니다. 예를 들면 PimIndexMaintenanceSvc입니다. 값 목록에서 시작을 강조 표시하고 선택을 선택합니다.

    PimIndexMaintenanceSvc 레지스트리 항목이 선택되고 시작 값이 선택된 레지스트리 항목 브라우저 창의 스크린샷

  8. 속성 시작 창에서 값 데이터를 에서 로 0000000300000004 변경하고 확인을 선택합니다. 값 데이터를 4 = 사용 함으로 설정합니다.

    값이 00000004 값 데이터 필드를 강조 표시하는 시작 속성 창 스크린샷

    참고

    서비스 시작 값 4사용 안 함입니다.

  9. 그룹 정책 템플릿으로 관리할 수 없는 다른 서비스를 추가하려면 정책을 편집하고 이전 단계를 반복합니다.

Windows 레지스트리를 사용하여 사용자 서비스 템플릿 관리

그룹 정책 기본 설정을 사용하여 사용자별 서비스를 관리할 수 없는 경우 Windows 레지스트리를 편집할 수 있습니다. 사용자 서비스 템플릿을 사용하지 않도록 설정하려면 각 서비스의 4시작 유형을 사용 안 함으로 변경합니다.

주의

다른 대안이 없는 한 레지스트리를 직접 편집하지 마세요. 레지스트리 편집기 또는 Windows는 레지스트리에 대한 이러한 수동 수정의 유효성을 검사하지 않습니다. 잘못된 값을 저장할 수 있으므로 시스템에서 복구할 수 없는 오류가 발생할 수 있습니다. 가능하면 레지스트리를 직접 편집하는 대신 그룹 정책 또는 지원되는 기타 Windows 도구를 사용하여 이러한 작업을 수행합니다. 레지스트리를 편집해야 하는 경우 주의해야 합니다.

예제 1: 명령줄 명령을 사용하여 reg.exe 레지스트리 편집

  1. 관리자 권한으로 를 실행 cmd.exe 하여 Windows 명령 프롬프트를 엽니다.

  2. 다음 예제에는 Windows 레지스트리에서 시작 값을 로 변경하여 지정된 Windows 서비스를 사용하지 않도록 설정하는 여러 명령이 4포함되어 있습니다.

REG.EXE ADD HKLM\System\CurrentControlSet\Services\CDPUserSvc /v Start /t REG_DWORD /d 4 /f
REG.EXE ADD HKLM\System\CurrentControlSet\Services\OneSyncSvc /v Start /t REG_DWORD /d 4 /f
REG.EXE ADD HKLM\System\CurrentControlSet\Services\PimIndexMaintenanceSvc /v Start /t REG_DWORD /d 4 /f
REG.EXE ADD HKLM\System\CurrentControlSet\Services\UnistoreSvc /v Start /t REG_DWORD /d 4 /f
REG.EXE ADD HKLM\System\CurrentControlSet\Services\UserDataSvc /v Start /t REG_DWORD /d 4 /f
REG.EXE ADD HKLM\System\CurrentControlSet\Services\WpnUserService /v Start /t REG_DWORD /d 4 /f

예제 2: 레지스트리 편집기 사용자 인터페이스를 사용하여 레지스트리 편집

  1. 관리자 권한으로 를 실행 regedit.exe 하여 레지스트리 편집기 엽니다.

  2. 으로 이동 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services 한 다음, 사용자 서비스 템플릿을 선택합니다. 예를 들면 CDPSvc입니다.

  3. 값 목록에서 시작 값을 엽니다.

  4. 값 데이터를 로 변경합니다4.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\CDPSvc 열려 있고 시작 값이 4로 설정된 것을 강조 표시하는 레지스트리 편집기 스크린샷

예제 3: 사용자별 서비스 만들기 방지

사용자가 로그온할 때 Windows에서 사용자별 서비스를 만들지 못하게 할 수 있습니다. 레지스트리의 동일한 서비스 템플릿 노드에서 를 로 0설정합니다UserServiceFlags.

UserServiceFlag가 0으로 설정된 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\PimIndexMaintenanceSvc 열려 있는 레지스트리 편집기 스크린샷

다음 단계

Windows Server용 시스템 서비스를 사용하지 않도록 설정하는 방법에 대한 자세한 내용은 데스크톱 환경을 사용하여 Windows Server에서 시스템 서비스를 사용하지 않도록 설정하는 방법에 대한 지침을 참조하세요.