Contents

Windows でのユーザーごとのサービスの管理

<本文>/images/per-user-services-in-windows.png

Windows では、ユーザーごとのサービスは、ユーザーがシステムにログオンするときに各ユーザーに対して作成され、ユーザーのログオフ時に削除される特別なサービスです。これらは、パーソナライズされたタスク (検索インデックス作成、通知、データ同期など) を実装し、ユーザー アカウント コンテキスト (LocalSystem ではなく) で実行し、ユーザーのバックグラウンド プロセスをシステム サービスから分離します。ユーザーごとのサービスの概念は、Windows 10/Windows Server 2016 (デスクトップ エクスペリエンスあり) 以降で使用されています。

Windows ですべてのユーザーごとのサービスを検索する方法

Windows マシン上のユーザー サービスのリストを表示するには、サービス管理スナップイン (「services.msc」) を開きます。これは、サービス名に追加される \_da170 などのサフィックスです。一部のサービス名は一意の識別子 (LUID) で終わることに注意してください。たとえば、Clipboard User Service\_da170Contact Data\_da170ConsentUX User Service\_da170 などです。この LUID サフィックスは一意であり、ユーザーのログイン時に生成されます。

/images/per-user-services-in-windows.png.webp

私の場合、Windows ホスト上に 2 つのアクティブなユーザー セッションがあるため、各ユーザーには独自のユーザーごとのサービス セットがあります。 PowerShell を使用すると、SERVICE_USER_SERVICE タイプ (16 進数の「0x40」、または 10 進数の「64」) でフィルター処理することにより、ユーザーごとのサービスを一覧表示できます。

サービスを取得 | Where-Object { ($\_.ServiceType-band 64)-eq 64 } |名前、ステータス、サービスタイプ、表示名を選択します

/images/list-all-per-user-services-in-windows.png.webp

Windows は、レジストリ内のサービス テンプレート (HKLM\SYSTEM\CurrentControlSet\Services) を使用して、各ユーザーのログオン時に個人サービスを作成します。 Windows レジストリ内のすべてのユーザーごとのサービス テンプレートを一覧表示するには、次の PowerShell コマンドを実行します。

Get-ChildItem "HKLM:\SYSTEM\CurrentControlSet\Services"| ForEach-Object { Get-ItemProperty $\_.pspath } | Where-Object {$\_.Type-eq 80-or $\_.Type-eq 96} |フォーマットテーブル PSChildName、Type、UserServiceFlags

/images/list-per-user-service-templates-in-regisrty.png.webp

以下は、Windows 11 25H2 のデフォルトのユーザーごとのサービスのリストです。各サービスには、簡単な説明、そのスタートアップの種類、および無効にできるかどうかに関する情報が付いています。

サービス名 |

表示名 |

スタートアップの種類 |

障害者でも大丈夫 |

説明—|—|—|—|—AarSvc |

エージェントアクティブ化ランタイム |

マニュアル |

⛔ 無効にしないでください |

アプリのバックグラウンドエージェントを起動します

BluetoothUserService |

Bluetoothユーザーサポートサービス |

マニュアル |

🟢 無効にしても安全 |

Bluetooth ユーザーレベルのサポートを提供します

キャプチャサービス |

キャプチャサービス |

マニュアル |

🟢 無効にしても安全 |

画面とビデオのキャプチャを処理します

cbdhsvc |

クリップボード ユーザー サービス |

マニュアル |

🟢 無効にしても安全 |

共有クリップボードと同期を管理します

CDPUserSvc |

コネクテッド デバイス プラットフォーム ユーザー サービス |

自動 |

🟢 無効にしても安全 |

接続されたデバイスとアプリを同期します

CloudBackupRestoreSvc |

クラウド バックアップおよび復元サービス |

マニュアル |

🟡 推奨しません |

OneDrive または MS アカウントのバックアップを管理します

ConsentUxUserSvc |

ConsentUX ユーザーサービス |

マニュアル |

🟢 無効にしても安全 |

アプリの同意ダイアログを処理します

PimIndexMaintenanceSvc |

連絡先データ |

マニュアル |

🟢 無効にしても安全 |

連絡先データのインデックス付けと維持

CredentialEnrollmentManagerUserSvc |

資格情報登録マネージャー |

マニュアル |

⛔ 無効にしないでください |

ログイン認証情報を保存および管理します

DeviceAssociationBrokerSvc |

デバイス アソシエーション ブローカー |

マニュアル |

🟡 推奨しません |

デバイスと周辺機器を関連付ける

DevicePickerUserSvc |

デバイスピッカー |

マニュアル |

🟢 無効にしても安全 |

デバイス選択を有効にする (Miracast)

DevicesFlowUserSvc |

デバイスの流れ |

マニュアル |

🟢 無効にしても安全 |

Wi-Fi および Bluetooth ディスプレイを管理します

BcastDVRUserService |

GameDVR およびブロードキャスト サービス |

マニュアル |

🟢 無効にしても安全 |

ゲームの録画とストリーミングに使用されます

メッセージングサービス |

メッセージングサービス |

マニュアル |

🟢 無効にしても安全 |

メッセージングアプリケーションを処理します

NPSMSvc |

セッションマネージャーサービスをプレイ中 |

マニュアル |

🟡 推奨しません |

現在のメディアセッションを追跡します

OneSyncSvc |

同期ホスト |

自動 |

🟢 無効にしても安全 |

設定、メール、カレンダー、OneDrive を同期します

P9RdrService |

プラン 9 読者サービス |

マニュアル |

🟡 推奨しません |

WSL に Plan 9 プロトコルを提供します

ペンサービス |

ペンサービス |

マニュアル |

🟡 推奨しません |

スタイラスとペン入力をサポート

PrintWorkflowUserSvc |

印刷ワークフロー |

マニュアル |

🟡 推奨しません |

UWP 印刷サービスの統合

UdkUserSvc |

UDKユーザーサービス |

マニュアル |

🟢 無効にしても安全 |

UWP アプリのシェル環境を調整します

UserDataSvc |

ユーザーデータアクセス |

マニュアル |

🟢 無効にしても安全 |

UWP ユーザー データ アクセスを提供します

UnistoreSvc |

ユーザー データ ストレージ |

マニュアル |

🟢 無効にしても安全 |

UWP アプリのユーザー データを保存します

WpnUserService |

Windows プッシュ通知ユーザー サービス |

マニュアル |

⛔ 無効にしないでください |

アプリにプッシュ通知を配信します

Windows でユーザーごとのサービスを無効または削除する方法

ほとんどのユーザーごとのサービスはデフォルトで無効になっており、必要な場合にのみ開始されます。対応するユーザーごとのサービスを使用しない場合は、それらのサービスを無効にすることで、ユーザーのログオン時に特定の Windows 機能が作成されないようにすることができます。これは、ターミナル サーバー (RDS ホスト) および仮想デスクトップ (VDI) にとって非常に重要です。

たとえば、ユーザーが DevicesFlowUserSvc (WiFi ディスプレイおよび Bluetooth デバイス接続用) サービスまたは BcastDVRUserService (ゲーム録画およびブロードキャスト用) サービスを必要としないと判断します。

これらのサービスを無効にするには、レジストリ キー HKLM\System\CurrentControlSet\Services\BcastDVRUserService に移動し、UserServiceFlags という名前と値 0 を持つ REG_DWORD パラメータを作成します。このレジストリ項目は手動または PowerShell 経由で作成します。

New-ItemProperty-Path HKLM:\System\CurrentControlSet\Services\BcastDVRUserService-Name UserServiceFlags-PropertyType DWord-Value 0-Force

/images/disable-per-user-service-in-registry-using-the-use.png.webp

コンピューターの再起動後、ユーザーごとの動的なサービスは作成されません。

多数のユーザーがいる RDS ターミナル ファーム (または、ユーザーの切り替えや複数の RDP セッションをサポートするデスクトップ Windows エディション) では、ユーザーごとのサービスが総サービス数を急激に増加させ、サーバーのパフォーマンスと管理性に悪影響を与える可能性があります。したがって、特定の機能を使用していない場合は、それらのサービスを無効にすることができます。

Windows Server 2022 RDS テンプレートでは、次のサービスが無効になっています。

  • キャプチャサービス

*CBDHSVC

  • CDPSvc

  • CDPUserSvc

  • ConsentUxUserSvc

  • DevicePickerUserSvc

  • DevicesFlowUserSvc

  • PimIndexMaintenanceSvc

  • PrintWorkflowUserSvc

  • ユニストアサービス

  • ユーザーデータサービス

  • WpnUserService

グループ ポリシーを使用して、これらすべてのサービスの UserServiceFlags 値を 0 に設定します (グループ ポリシーの基本設定からレジストリ項目を追加する方法を参照してください)。

/images/disable-per-user-service-via-gpo.png.webp

Microsoft のサポート対象リストは、ユーザーごとのサービスを無効にする際の参考として使用する必要があります。これは、環境内で選択的に実行され検証されている限り、一般に安全であると考えられています。

*️⃣ 出典リンク:

LocalSystem、New-ItemProperty、RDS ターミナル ファーム、複数の RDP セッション、グループ ポリシー経由でレジストリ項目を追加する方法、