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
如何停用每位用戶服務
用戶服務的範本不會顯示在 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
注意
之後的空間 =
是刻意的。
使用組策略喜好設定管理範本服務
如果您無法使用安全性範本停用個別使用者服務,請使用組策略喜好設定。
開啟 群組原則 Management Console (gpmc.msc) 。
(GPO) 或使用現有的 GPO,建立新的組策略物件。
編輯 GPO 以啟動組策略物件編輯器。
根據您想要以組策略為目標的方式,在 [ 計算機 設定] 或 [ 使用者設定 ]覽至 [ 喜好設定]、[ Windows 設定],然後選取 [ 登錄]。
移至 [ 動作] 功能表,選取 [ 新增],然後選取 [ 登錄專案]。
針對 Hive ,選取
HKEY_LOCAL_MACHINE
。選取 [金鑰路徑] 旁 (
...
) 省略號。 流覽至System\CurrentControlSet\Services
,然後選取使用者服務範本。 例如,PimIndexMaintenanceSvc
。 在值清單中,反白顯示 [開始 ],然後選取 [選取]。在 [ 開始屬性] 視窗中,將 [值數據 ] 從
00000003
變更為00000004
,然後選取 [ 確定]。 請注意,將 [值] 資料設定為 [4 = 已停用]。注意
服務啟動值
4
為 Disabled。若要新增無法使用組策略範本管理的其他服務,請編輯原則並重複先前的步驟。
使用 Windows 登錄管理使用者服務範本
如果您無法使用組策略喜好設定來管理每位使用者的服務,您可以編輯 Windows 登錄。 若要停用使用者服務範本,請將每個服務 4
的啟動類型變更為 ,也就是 Disabled。
注意
除非沒有其他替代方案,否則請勿直接編輯登錄。 登錄 編輯器 或 Windows 不會驗證這些對登錄的手動修改。 可以儲存不正確的值,這可能會導致系統發生無法復原的錯誤。 可能的話,請使用組策略或其他支援的 Windows 工具來完成這些工作,而不是直接編輯登錄。 如果您必須編輯登錄,請特別小心。
範例 1:使用 reg.exe
命令列命令來編輯登錄
以系統管理員身分執行 以
cmd.exe
開啟 Windows 命令提示字元。下列範例包含多個命令,這些命令會將 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:使用登錄 編輯器 用戶介面來編輯登錄
以系統管理員身分執行 以
regedit.exe
開啟登錄 編輯器。流覽至
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
,然後選取使用者服務範本。 例如,CDPSvc
。在值清單中,開啟 [開始 ] 值。
將 [值] 資料 變更為
4
。
範例 3:防止建立個別用戶服務
您可以防止 Windows 在使用者登入時建立個別用戶服務。 在登入的相同服務樣本節點中,將設定為 UserServiceFlags
0
。
後續步驟
如需停用 Windows Server 系統服務的詳細資訊,請參閱 使用桌面體驗在 Windows Server 上停用系統服務的指引。