Windows 中的每一使用者服務

當使用者登入 Windows 時,OS 會建立 每個用戶的服務。 當使用者註銷時,這些服務會停止並刪除。 它們會在用戶帳戶的安全性內容中執行,而不是內建的安全性主體。 相較於先前執行與預先設定帳戶或工作相關聯之服務的方法,此行為可提供更好的資源管理。

注意

只有當您安裝桌面體驗時,才能在 Windows Server 中使用個別用戶服務。 如需詳細資訊,請參閱 Server Core 與具有桌面體驗的伺服器安裝選項

Windows 會根據登錄中定義的範本來建立這些每一用戶服務。 如果您需要管理或控制這些服務的行為,您可以調整範本。 例如,您可以將範本服務的啟動類型設定為 Disabled。 在此範例中,Windows 會以已停止和停用的狀態建立每位用戶服務。

重要

請先仔細測試範本服務設定的任何變更,再將它們廣泛部署至生產環境。

使用本文中的資訊來瞭解每個使用者的服務、設定使用者服務範本,以及透過組策略和安全性範本管理每位使用者的服務。

每位使用者服務的清單

下表列出目前 Windows 版本中的每個用戶服務。 其他版本的 Windows 10/11 可能沒有相同的服務可用。

重新設定這些服務之前,請先檢閱這項資訊以瞭解其含意。 例如,如果您停用每位使用者服務,可能會有無法正常運作的相依應用程式。

顯示名稱 服務名稱 默認開始類型 相依性 描述
代理程式啟用運行時間 AarSvc Manual 啟動交談式代理程式應用程式的運行時間。
藍牙用戶支持服務 BluetoothUserService Manual 支援與每個用戶會話相關之藍牙功能的適當功能。
OneCore 擷取服務 CaptureService Manual 為呼叫 Windows.Graphics.Capture 命名空間之螢幕擷取 API 的應用程式啟用選擇性螢幕擷取功能。
剪貼簿用戶服務 dhhsvc 自動 (延遲啟動) Windows 會將此使用者服務用於剪貼簿案例。 例如,剪貼簿歷程記錄或跨裝置同步。 如需詳細資訊,請參閱 Windows 中的剪貼簿
雲端備份與還原服務 CloudBackupRestoreSvc Manual 監視系統中應用程式和設定狀態的變更。 如有需要,此服務會執行雲端備份和還原作業。
線上裝置平臺用戶服務 CDPUserSvc Automatic - 網路連線代理人
- 遠端過程調用 (RPC)
- TCP/IP 通訊協定驅動程式
此服務可讓用戶連線、管理及控制連線的裝置。 這些連線的裝置包括行動裝置、Xbox、HoloLens 或智慧型手機/IoT 裝置。 如需一個特定範例,請 參閱在 Windows 中與附近的裝置共享專案
同意UX用戶服務 ConsentUxUserSvc Manual 允許系統要求使用者同意,以允許應用程式存取敏感性資源和資訊,例如裝置的位置。
聯繫人數據 PimIndexMaintenanceSvc Manual UnistoreSvc 索引聯繫人數據以進行快速聯繫人搜尋。 如果您停止或停用此服務,搜尋結果中可能會遺失聯繫人。
認證註冊管理員 CredentialEnrollmentManagerUserSvc Manual 此服務支援安全儲存和擷取用戶認證。 例如,網站、遠端桌面連線或其他應用程式的令牌。
裝置關聯代理人 DeviceAssociationBrokerSvc Manual - DevicePicker
- Shell 配對 UX
支援新裝置案例的應用程式內配對和存取檢查。
裝置選擇器 DevicePickerUserSvc Manual Windows 使用此使用者服務來管理 Miracast、Digital Living Network Alliance (DLNA) ,以及探索和啟動 (DIAL) 體驗。
裝置流程 DevicesFlowUserSvc Manual 允許 Connect 使用者介面和設定應用程式連線並配對WiFi顯示器和藍牙裝置。
遊戲 DVR 和廣播用戶服務 BcastDVRUserService Manual Windows 會使用此使用者服務進行遊戲錄製和實時廣播。
傳訊服務 MessagingService Manual 此服務支持簡訊和相關功能。
正在玩會話管理員 NPSMSvc Manual 現在播放的會話管理員 (NPSM) 服務會管理裝置上執行的媒體會話。
方案9重新導向器服務 P9RdrService Manual 啟用觸發程式啟動 plan9 檔案伺服器,Windows 子系統 Linux 版 支援這些伺服器。 如需詳細資訊,請參閱 從 Bell Labs 規劃 9
手寫筆服務 PenService Manual 當您在手寫筆輸入裝置上按下尾鍵時,此服務會回應這些動作。 它可以啟動應用程式,或採取您在 [設定] 中自定義的另一個動作。 如需詳細資訊,請參閱如何在手寫筆裝置使用 Surface Pen 或硬體開發人員檔的用戶檔。
列印工作流程 PrintWorkflowUserSvc Manual 提供 列印工作流程 應用程序的支援。 如果您關閉此服務,某些列印函式可能無法順利運作。
同步主機 OneSyncSvc 自動 (延遲啟動) 此服務會同步處理郵件、聯繫人、行事曆和其他用戶數據。 當此服務停止時,與此功能相依的郵件和其他應用程式無法正常運作。
UDK 用戶服務 UdkUserSvc Manual Windows 會使用此服務在殼層體驗之間協調。
用戶數據存取 UserDataSvc Manual UnistoreSvc 提供應用程式對結構化用戶數據的存取,包括聯繫人資訊、行事曆、訊息和其他內容。 如果您停止或停用此服務,使用此資料的應用程式可能無法正常運作。
用戶數據記憶體 UnistoreSvc Manual 處理結構化用戶數據的儲存,包括聯繫人資訊、行事曆、訊息和其他內容。 如果您停止或停用此服務,使用此資料的應用程式可能無法正常運作。
Web 威脅防禦用戶服務 webthreatdefusersvc Automatic 當未經授權的實體嘗試取得其認證的存取權時,此服務會警告使用者,以協助保護您的計算機。
Windows 推播通知用戶服務 WpnUserService Automatic 此服務會將 Windows 推播通知服務 裝載 (WNS) 平臺,以提供本機和推播通知的支援。 支援的通知為磚、快顯通知和原始通知。

檢視個別用戶服務

您無法在 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 以開啟 Services 主控台。 當您檢視本機計算機時,您可以看到使用者帳戶的這些服務。

使用 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 值會指出服務是使用者服務範本或使用者服務實例。

下列範例會查詢 遊戲 DVR 和廣播使用者服務BcastDVRUserService () 服務的範本和使用者特定實例:

sc qc BcastDVRUserService
sc qc BcastDVRUserService_18f113

Windows 命令行會話在兩個服務上執行 sc.exe qc,並在輸出中反白顯示類型值的螢幕快照。

如何停用每位用戶服務

用戶服務的範本不會顯示在 Services 控制台 (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:使用 Set-Service PowerShell Cmdlet

下列範例腳本會使用 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. 啟 群組原則 Management Console (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. 在 [ 開始屬性] 視窗中,將 [值數據 ] 從 00000003 變更為 00000004 ,然後選取 [ 確定]。 請注意,將 [值] 資料設定為 [4 = 已停用]

    [開始] 屬性視窗 的螢幕快照,其中醒目提示值數據欄位與值00000004。

    注意

    服務啟動值 4Disabled

  9. 若要新增無法使用組策略範本管理的其他服務,請編輯原則並重複先前的步驟。

使用 Windows 登錄管理使用者服務範本

如果您無法使用組策略喜好設定來管理每位使用者的服務,您可以編輯 Windows 登錄。 若要停用使用者服務範本,請將每個服務 4的啟動類型變更為 ,也就是 Disabled

注意

除非沒有其他替代方案,否則請勿直接編輯登錄。 登錄 編輯器 或 Windows 不會驗證這些對登錄的手動修改。 可以儲存不正確的值,這可能會導致系統發生無法復原的錯誤。 可能的話,請使用組策略或其他支援的 Windows 工具來完成這些工作,而不是直接編輯登錄。 如果您必須編輯登錄,請特別小心。

範例 1:使用 reg.exe 命令列命令來編輯登錄

  1. 以系統管理員身分執行 以 cmd.exe 開啟 Windows 命令提示字元。

  2. 下列範例包含多個命令,這些命令會將 Windows 登錄中的 Start 值變更為 4,以停用指定的 Windows 服務:

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 在使用者登入時建立個別用戶服務。 在登入的相同服務樣本節點中,將設定為 UserServiceFlags0

登錄 編輯器 開啟以 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\PimIndexMaintenanceSvc 醒目提示 UserServiceFlag 設定為 0 的螢幕快照。

後續步驟

如需停用 Windows Server 系統服務的詳細資訊,請參閱 使用桌面體驗在 Windows Server 上停用系統服務的指引