Службы для отдельных пользователей (per-user service) в Windows это специальный тип служб, которые создаются для каждого пользователя при его входе в систему и удаляются при завершении сеанса пользователя. Они используются для реализации персонализированных задач (например, служба индексации поиска, служба уведомлений, синхронизации данных и т.д.), запускаются в контексте учетной записи пользователя (а не LocalSystem) и используются для изоляции персональных фоновых процессов пользователей от системных служб. Концепция per-user services используется начиная с Windows 10/Windows Server 2016 (с Desktop Experience) и выше.
Как вывести пользовательские службы в Windows?
Чтобы увидеть список пользовательских служб в Windows, откройте консоль управления службами
services.msc
. Обратите внимание, что в списке есть службы, содержащие в конце уникальный идентификатор (LUID), суффикс вида
_a717df
, который добавляется в конце имени службы (например,
Clipboard User Service_a717df
,
Contact Data_a717df
,
ConsentUX User Service_a717df
и т.д.). Такой LUID суффикс является уникальным и генерируется при входе пользователя

В моем случае на хосте Windows есть активные сессии двух пользователей, поэтому для каждого пользователя создается свой набор per-user служб. Также можно вывести список пользовательских служб, отфильтровав список служб по типу SERVICE_USER_SERVICE (
0x40
в шестнадцатеричном,
64
в десятичном) с помощью PowerShell:
Get-Service | Where-Object { ($_.ServiceType -band 64) -eq 64 } | Select Name, Status, ServiceType,DisplayName

Шаблоны per-user служб хранятся в реестре (
HKLM\SYSTEM\CurrentControlSet\Services
) и используются системой для создания персональных служб при входе каждого пользователя. Вывести полный список шаблонов per-user служб в Windows, можно с помощью PowerShell:
Get-ChildItem "HKLM:\SYSTEM\CurrentControlSet\Services" | ForEach-Object { Get-ItemProperty $_.pspath } | Where-Object {$_.Type -eq 80 -or $_.Type -eq 96} | Format-Table PSChildName, Type, UserServiceFlags

Список стандартных пользовательских per-user служб в Windows 11 25H2, включая тип их запуска, краткое описание, и можно ли отключать их.
| Имя службы | DisplayName | Тип запуска | Можно ли отключать | Описание |
AarSvc
| Agent Activation Runtime | Ручной | ⛔ Не отключать | Запуск агентов приложений |
BluetoothUserService
| Bluetooth User Support Service | Ручной | 🟢 Можно отключить | Поддержка Bluetooth |
CaptureService
| CaptureService | Ручной | 🟢 Можно отключить | Захват экрана/видео |
cbdhsvc
| Clipboard User Service | Ручной | 🟢 Можно отключить | Общий буфер обмена |
CDPUserSvc
| Connected Devices Platform User Service | Авто | 🟢 Можно отключить | Синхронизация устройств |
CloudBackupRestoreSvc
| Cloud Backup and Restore Service | Ручной | 🟡 Без рекомендаций | Облачное резервное копирование |
ConsentUxUserSvc
| ConsentUX User Service | Ручной | 🟢 Можно отключить | Согласия приложений |
PimIndexMaintenanceSvc
| Contact Data | Ручной | 🟢 Можно отключить | Индексация контактов |
CredentialEnrollmentManagerUserSvc
| CredentialEnrollmentManagerUserSvc | Ручной | ⛔ Не отключать | Хранение учетных данных |
DeviceAssociationBrokerSvc
| DeviceAssociationBroker | Ручной | Ассоциация устройств | |
DevicePickerUserSvc
| DevicePicker | Ручной | 🟢 Можно отключить | Выбор устройств (Miracast) |
DevicesFlowUserSvc
| DevicesFlow | Ручной | 🟢 Можно отключить | Подключение WiFi/BT дисплеев |
BcastDVRUserService
| GameDVR and Broadcast User Service | Ручной | 🟢 Можно отключить | Запись и трансляция игр |
MessagingService
| MessagingService | Ручной | 🟢 Можно отключить | Обмен сообщениями |
NPSMSvc
| Now Playing Session Manager Service | Ручной | 🟡 Без рекомендаций | Трекер музыки |
OneSyncSvc
| Sync Host | Авто | 🟢 Можно отключить | Синхронизация OneDrive |
P9RdrService
| P9RdrService | Ручной | 🟡 Без рекомендаций | Plan 9 для WSL |
PenService
| PenService | Ручной | 🟡 Без рекомендаций | Поддержка стилуса |
PrintWorkflowUserSvc
| PrintWorkflow | Ручной | 🟡 Без рекомендаций | Печать UWP |
UdkUserSvc
| Udk User Service | Ручной | 🟢 Можно отключить | Координация оболочки |
UserDataSvc
| User Data Access | Ручной | 🟢 Можно отключить | Доступ к данным UWP |
UnistoreSvc
| User Data Storage | Ручной | 🟢 Можно отключить | Хранилище данных UWP |
WpnUserService
| Windows Push Notifications User Service | Ручной | ⛔ Не отключать | Push-уведомления |
Отключение Per-User служб в Windows
Большинство per-user служб по умолчанию отключены и запускаются только при необходимости. Однако, если некоторый функции Windows вами не используются, то такие службы можно отключить, чтобы они динамически не создавались при входе пользователей. Особенно это актуально для терминальных RDS серверов и виртуальных рабочих мест VDI.
Например, вы понимаете, что вашим пользователям не нужны службы
DevicesFlowUserSvc
(подключение WiFi дисплеев и Bluetooth устройств) и
BcastDVRUserService
(запись и трансляция игр).
Чтобы отключить такие службы, перейдите в ветку реестра
HKLM\System\CurrentControlSet\Services\BcastDVRUserService
и создайте в ней REG_DWORD параметр с именем UserServiceFlags и значением 0. Параметр можно создать вручную или с помощью PowerShell:
New-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\BcastDVRUserService -Name UserServiceFlags -PropertyType DWord -Value 0 -Force

После перезагрузки компьютера, динамические per-user службы для таких служб создаваться не будут.
В терминальной ферме RDS с большим количеств пользователей (или в десктопных версиях Windows с возможностью переключения между пользователями, или на которых разрешены множественные RDP сессии), использование пользовательских служб вызывает резкое увеличение количества службы в системе, и может негативно влиять на общую производительность и управляемость сервера. Поэтому, если вы не используете определенный функционал, такие службы можно отключить.
В моих шаблонах для RDS Windows Server 2022 настроено отключение следующих служб:
- CaptureService
- Cbdhsvc
- CDPSvc
- CDPUserSvc
- ConsentUxUserSvc
- DevicePickerUserSvc
- DevicesFlowUserSvc
- PimIndexMaintenanceSvc
- PrintWorkflowUserSvc
- UnistoreSvc
- UserDataSvc
- WpnUserService
Для всех этих служб через групповые политики я создаю параметр реестра UserServiceFlags со значением 0 (как распространить параметр реестра через Group Policy Preferences).


