wksprt" 允许用户在需要帮助或支持时,与远程的技术支持人员或其他授权用户建立连接,并允许他们查看和操作用户的计算机。这样,技术支持人员可以直接通过远程协助的方式来解决用户遇到的问题,而无需亲自到达用户的物理位置
wksprt 英文全称
1. 缩写拆分
wksp = Workspace
rt = Runtime
缩写完整拼写:Workspace Runtime
2. Windows 官方完整描述(文件内置注释)
RemoteApp and Desktop Connection Runtime
中文:远程应用与桌面连接运行时
配套佐证文件
wksprtPS.dll:WorkspaceRuntime ProxyStub DLL(工作区运行时代理桩组件)- 系统头文件
workspaceruntime.h,微软官方 API 命名完全对应WorkspaceRuntime
和 wkspbroker.exe 区分
- wksprt.exe(Workspace Runtime)
底层 COM 运行时载体,提供 IWorkspace、IWorkspaceScriptable 等原生 COM 接口,是底层 API 实现层。
- wkspbroker.exe(Workspace Broker)
上层会话调度代理进程,封装 wksprt 底层接口,做订阅、会话复用、凭据托管业务逻辑。
配套关联组件
- wksprt.exe:底层运行时核心
- wksprtPS.dll:COM 跨进程代理桩
- wkspbrokerAx.dll:上层 ActiveX 桥接
- wkspbroker.exe:业务调度主进程
wksprt.exe(Workspace Runtime)完整底层原理
一、基础定义与分层定位
全称
Workspace Runtime,官方标准描述:RemoteApp and Desktop Connection Runtime
系统头文件:
配套核心支撑库:
workspaceruntime.h,定义整套远程工作区原生 COM 接口集Microsoft ...
wksprtPS.dll(WorkspaceRuntime ProxyStub DLL),负责 COM 跨进程参数序列化 / 反序列化层级划分(关键区分 wksprt 与 wkspbroker)
- wksprt.exe(底层 COM 运行时内核)
进程外 COM 服务,实现原生 IWorkspace 系列底层接口,负责工作区对象、凭据、会话、订阅的底层抽象封装,是所有远程工作区能力的底层 API 载体。
- wkspbroker.exe(上层业务调度封装层)
基于 wksprt 提供的 COM 接口做二次封装,叠加会话复用、资源池、UI 同步、日志、组策略校验等业务逻辑,不直接实现底层远程连接原语。
- wkspbrokerAx.dll(前端 ActiveX 桥)
进程内 COM 控件,供 explorer、设置、浏览器调用,中转请求至 wkspbroker,再由 wkspbroker 调用 wksprt 底层接口。
整体分层链路:
上层 UI (explorer/Edge/ 设置) → wkspbrokerAx.dll → wkspbroker.exe(业务层) → wksprt.exe(底层 COM 运行时内核) → mstscax.dll RDP 底层
二、核心 COM 接口体系(wksprt.exe 内部实现)
wksprt 是纯 COM 对象容器,所有功能通过标准 COM 接口对外暴露,微软官方定义核心接口如下Microsoft ...:
- IWorkspace / IWorkspace2 / IWorkspace3
工作区连接对象核心接口:获取会话 PID、工作区名称、启动 RemoteApp、读取 Azure AD 声明令牌。
- IWorkspaceScriptable / IWorkspaceScriptable2/3
凭据与会话控制接口:SSO 单点登录、清除凭据、断开指定工作区、认证回调通知,PowerShell / 脚本自动化依赖此接口。
- IWorkspaceRegistration / IWorkspaceRegistration2
资源注册接口:新增 / 删除 RemoteApp / 虚拟桌面资源、管理客户端引用计数。
- IWorkspaceReportMessage
统一错误、告警日志上报,写入 Windows 事件日志通道。
跨进程通信底层:wksprtPS.dll Proxy-Stub 机制
- 进程内存隔离限制:wkspbroker 与 wksprt 分属两个独立虚拟地址空间,无法直接传递接口指针。
- wksprtPS.dll 作用:
- Proxy(代理端,wkspbroker 进程内):把接口调用参数序列化打包为 RPC 数据包;
- Stub(存根端,wksprt 进程内):反序列化数据包,调用 wksprt 内部真实接口实现;
- 返回值原路打包传回上层,对调用者完全透明,无需感知跨进程边界抖音百科。
- 注册表绑定:所有 IWorkspace 系列 IID 固定绑定 wksprtPS.dll,COM 库自动加载代理存根完成 IPC 通信。
三、wksprt.exe 进程启动与初始化底层流程
- 触发启动
wkspbroker 首次调用任何 IWorkspace 接口 → COM 子系统查询注册表对应 IID → 启动独立 wksprt.exe 进程(当前登录用户会话单实例)。
- 内部初始化阶段
- 加载基础依赖:ole32.dll、rpcrt4.dll(RPC 通信)、crypt32.dll(DPAPI 加密)、winhttp.dll(订阅网络请求);
- 注册全部 IWorkspace COM 对象工厂,对外暴露类厂供外部进程创建接口实例;
- 初始化三大内存管理器:
- Workspace 对象池:缓存所有已订阅工作区实例;
- Credential 上下文池:缓存解密后的 SSO 凭据句柄;
- RDP 会话上下文池:保存每个远程连接的底层配置模板;
- 挂载系统回调:凭据管理器 Vault 通知、证书链校验回调、网络状态变化监听。
- 常驻休眠机制
无工作区操作时,主线程阻塞等待 RPC 调用;空闲超时不主动退出,减少重复创建进程开销。
四、五大核心底层工作逻辑(wksprt 原生实现,wkspbroker 仅做封装)
逻辑 1:工作区订阅底层解析与持久化
- 接收上层传入 HTTPS 订阅 URL、认证令牌;
- 调用 WinHTTP+Schannel 发起 TLS 请求拉取 RD Web Feed XML;
- 内置 XML 解析器提取:RemoteApp 列表、虚拟桌面、RD 网关、RDP 参数、用户权限标识;
- 标准化封装为内部
CWorkspace对象(IWorkspace 接口实例); - 调用系统注册表 API 写入
HKCU\Software\Microsoft\Workspaces,仅存储加密配置,不保存明文账号; - 调用 VaultAPI,将订阅凭据交由 CredMan 托管,使用 DPAPI 用户密钥加密存储。
逻辑 2:凭据与 SSO 底层安全逻辑(wksprt 核心安全模块)
- 封装 Windows Credential Manager 底层 API,统一抽象凭据上下文;
IWorkspaceScriptable::StartWorkspace:绑定凭据与工作区 ID,建立 SSO 会话上下文;- 自动 DPAPI 解密缓存凭据,仅在建立 RDP 通道时临时取出,内存用完立即清零;
IsWorkspaceSSOEnabled读取组策略,判断是否允许自动填充登录凭据;ClearWorkspaceCredential底层销毁凭据句柄,同步删除 Vault 内存储条目;- 全程隔离:RDP 底层 mstscax 无法直接访问凭据,必须经由 wksprt 中转,杜绝凭据泄露风险。
逻辑 3:RemoteApp / 虚拟桌面启动底层调度
- 接收
StartRemoteApplication调用,根据工作区 ID 检索内存中的 CWorkspace 对象; - 读取缓存的 RD 网关、NLA 认证、多显示器、设备重定向全套 RDP 参数;
- 区分资源类型:
- RemoteApp:自动填充
RemoteApplicationMode=1无缝窗口参数; - 完整虚拟桌面:生成标准全桌面 RDP 配置;
- RemoteApp:自动填充
- 底层调用 mstscax.dll 创建 RDP 连接上下文,注入预解密 SSO 凭据实现免登;
- 返回会话 PID 与连接句柄给上层 wkspbroker,由 Broker 做会话复用业务调度;
- 内置心跳监控钩子,实时捕获 RDP 连接断开、崩溃事件,向上层抛出通知。
逻辑 4:会话生命周期底层托管
wksprt 负责底层连接上下文创建 / 销毁,wkspbroker 负责业务层会话复用缓存:
- 维护会话句柄映射表:工作区 ID ↔ mstscax 连接上下文;
- 提供原生
DisconnectWorkspace接口,强制关闭指定工作区全部 RDP 通道; - 连接销毁时自动回收资源:关闭网络套接字、释放 rdpdr/rdpclip 重定向组件句柄、清空内存凭据缓存;
- 异常兜底:mstscax 崩溃仅销毁单条会话上下文,wksprt 主进程、其他工作区不受影响。
逻辑 5:资源注册与客户端生命周期管理(IWorkspaceRegistration)
- 上层每创建一个远程资源(RemoteApp 快捷方式),调用
AddResource在 wksprt 内部增加引用计数; - 用户关闭资源时
RemoveResource递减计数; - 引用计数归零后,触发延迟断开逻辑(底层 30 秒超时配置由 wksprt 固化);
- 支持第三方自定义 RDS 客户端注册接入 wksprt 底层接口。
五、完整跨进程调用数据流(从前端到 wksprt 底层)
plaintext
explorer.exe / Edge / 设置界面
↓(进程内COM)
wkspbrokerAx.dll(ActiveX代理)
↓(RPC跨进程,wksprtPS.dll序列化参数)
wkspbroker.exe(业务调度层:会话池、UI同步、策略校验)
↓(RPC跨进程,wksprtPS.dll Proxy-Stub)
wksprt.exe(底层COM运行时内核)
├─ IWorkspace 会话/资源管理
├─ IWorkspaceScriptable 凭据/SSO管理
└─ 底层调用 mstscax.dll、WinHTTP、CredMan、DPAPI、Schannel
↓
RDP协议栈 / RD Web订阅服务
六、wksprt 与 wkspbroker 核心职能边界(关键区分)
| 组件 | wksprt.exe(Workspace Runtime) | wkspbroker.exe(Workspace Broker) |
|---|---|---|
| 定位 | 底层 COM 接口内核、原语实现层 | 上层业务封装、会话调度业务层 |
| 核心能力 | 订阅拉取、凭据加解密、RDP 底层连接、原生 COM 接口 | 会话复用池、多窗口共享连接、UI 同步、日志聚合、组策略前置校验 |
| 依赖关系 | 无上层依赖,独立实现 RDS 底层逻辑 | 强依赖 wksprt 所有 COM 接口,自身不实现底层远程连接 |
| 通信载体 | wksprtPS.dll 代理存根 | wkspbrokerAx.dll ActiveX 前端桥 |
| 故障影响 | wksprt 崩溃:所有远程连接失效、无法订阅工作区 | wkspbroker 崩溃:仅界面调度失效,已建立 RDP 会话不受影响 |
七、底层依赖组件链
- IPC 通信层:rpcrt4.dll、wksprtPS.dll(Proxy-Stub)、ole32.dll COM 库
- 网络层:winhttp.dll(订阅 XML 拉取)、schannel.dll(TLS 加密)、ws2_32.dll TCP 套接字
- 安全加密层:crypt32.dll、dpapi.dll(凭据加密)、VaultAPI.dll(凭据管理器交互)、cert32.dll(证书校验)
- RDP 底层:mstscax.dll、tsappcmp.dll、rdpdr.dll、rdpclip.dll
- 持久化存储:advapi32.dll(注册表读写)
- 日志输出:wevtapi.dll,写入 Microsoft-Windows-WorkspaceRuntime 事件通道
八、典型底层故障原理
- wksprtPS.dll 损坏 → Proxy-Stub 序列化失败,wkspbroker 调用 wksprt 所有接口返回 HRESULT 错误,无法添加 / 启动工作区;
- wksprt 进程卡死 → RPC 调用阻塞,所有 RemoteApp 双击无响应;
- DPAPI 用户密钥损坏 → wksprt 解密凭据失败,每次打开远程资源强制弹窗输入账号密码;
- 组策略禁用 SSO → wksprt IWorkspaceScriptable 校验拦截,自动登录失效;
- WinHTTP 代理配置异常 → wksprt 拉取 RD Web 订阅 XML 超时,工作区同步失败。
wksprt.exe(Workspace Runtime)完整配套组件链
分层结构:前端调用层 → 中转业务层 → COM 跨进程桥接层 → wksprt 内核层 → 系统底层支撑层 → 持久化 / 安全存储 → RDP 协议栈 → 服务端对接组件
一、前端调用入口(最上层,不直接碰 wksprt)
1. UI 调用载体
- explorer.exe 文件资源管理器(远程资源文件夹、快捷方式双击)
- Windows 设置(账户→访问工作或学校资源)
- Edge/IE 浏览器 RD Web Access 网页
- PowerShell/VBScript 脚本自动化
- 第三方企业门户、自定义 RDS 客户端
2. 前端桥接控件:wkspbrokerAx.dll
全称:Microsoft Workspace Broker ActiveX Control
作用:进程内 COM 控件,所有上层程序统一调用入口,不直接调用 wksprt,全部转发至 wkspbroker.exe。
二、上层业务调度中间件(wksprt 直接上游)
wkspbroker.exe(Workspace Broker)
- 定位:业务封装层,会话复用池、UI 同步、组策略前置校验、日志聚合
- 依赖 wksprt 全套 COM 接口,自身不实现订阅、凭据、RDP 底层原语
- 数据流:wkspbrokerAx → wkspbroker → wksprtPS.dll → wksprt.exe
三、COM 跨进程通信核心配套(wksprt 与 wkspbroker 的桥梁)
wksprtPS.dll
全称:WorkspaceRuntime ProxyStub DLL(代理存根库)
- Proxy(代理,加载于 wkspbroker 进程):序列化 COM 调用参数,打包 RPC 报文
- Stub(存根,加载于 wksprt.exe 进程):解析 RPC 包,调用 wksprt 内部真实接口
- 必备依赖:ole32.dll、oleaut32.dll、rpcrt4.dll、kernel32.dll、msvcrt.dll
- 注册表绑定:IWorkspace/IWorkspaceScriptable 等接口 IID 固定指向此 DLL,COM 库自动加载完成 IPC 跨进程通信
四、wksprt 内核本体组件(运行时核心)
1. wksprt.exe 主程序
全称:RemoteApp and Desktop Connection Runtime,进程外 COM 服务容器
路径:
内置实现全套原生 COM 接口集(workspaceruntime.h 定义)Microsoft ...
C:\Windows\System32\wksprt.exe
- IWorkspace / IWorkspace2 / IWorkspace3:工作区连接、会话信息、Azure AD 令牌
- IWorkspaceScriptable / 2/3:SSO 凭据、断开工作区、清除账号凭证
- IWorkspaceRegistration:RemoteApp 资源注册、引用计数管理
- IWorkspaceReportMessage:错误 / 事件日志上报
2. 资源本地化多语言文件
wksprt.exe.mui:对应系统语言提示、错误弹窗文本
3. 配套头文件(开发侧)
workspaceruntime.h:微软 SDK 原生接口定义头文件Microsoft ...
五、wksprt 内置系统底层依赖库(启动自动加载)
1. IPC/RPC 通信库
- rpcrt4.dll:RPC 远程过程调用底层
- ole32.dll、oleaut32.dll:COM 对象、IDispatch 脚本支持
2. 网络通信库(订阅 RD Web Feed)
- winhttp.dll:HTTPS 拉取订阅 XML 清单
- schannel.dll:TLS1.2/1.3 加密、证书链校验
- ws2_32.dll:TCP 套接字底层
3. 安全加密与凭据库
- dpapi.dll:用户密钥加密解密凭据
- crypt32.dll:证书验证、CRL 吊销查询
- vaultapi.dll、keymgr.dll:Windows 凭据管理器交互
4. 系统基础 API
- kernel32.dll:进程、线程、内存管理
- advapi32.dll:注册表读写、权限控制
- wevtapi.dll:写入 WorkspaceRuntime 事件日志通道
六、持久化存储配套链(wksprt 读写持久数据)
1. 注册表(工作区配置缓存)
路径:
存储:订阅 URL、RD 网关参数、资源 ID 映射、RDP 模板、同步时间戳
读写 API:advapi32.dll,由 wksprt 直接操作
HKCU\Software\Microsoft\Workspaces
2. Windows 凭据管理器 CredMan
存储类型:通用凭据(前缀
加密:DPAPI 当前用户密钥加密,明文永不落地磁盘
配套文件:
WorkspaceFeed_xxx)
%LOCALAPPDATA%\Microsoft\Credentials3. 本地 UI 资源缓存
资源管理器缓存远程资源快捷方式,由 wksprt 通知 explorer 刷新目录视图
七、RDP 远程连接底层配套链(wksprt 最终调用)
1. RDP 核心引擎
mstscax.dll(Terminal Services Client ActiveX Control)
wksprt 组装全部 RDP 参数,注入 SSO 凭据,调用此组件建立远程会话
2. RemoteApp 无缝窗口组件
tsappcmp.dll:远程窗口嵌入本地任务栏、窗口融合
3. 设备重定向配套
- rdpclip.exe/rdpclip.dll:剪贴板互通
- rdpdr.dll:磁盘、打印机、USB、智能卡重定向
4. 认证协议库
credssp.dll:NLA 网络级身份验证、TLS 协商
八、系统管控、日志、排错配套工具链
1. 事件日志通道
Microsoft-Windows-WorkspaceRuntime
记录订阅、认证、连接断开、凭据操作、COM 调用失败日志
2. 组策略管控文件
- workspaceruntime.admx/adml:远程工作区策略模板
路径:
计算机配置\管理模板\Windows组件\远程桌面服务\工作区管控:SSO 自动登录、网关信任、凭据保存、远程应用权限
3. 系统修复 / 调试工具
- regsvr32.exe:重新注册 wksprtPS.dll、wkspbrokerAx.dll COM 组件
- sfc /dism:修复 wksprt.exe、wksprtPS.dll 系统文件损坏
- oleview.exe:查看 IWorkspace 系列 COM 接口定义、CLSID 注册表
- Process Explorer:查看 wksprt 加载全部依赖 DLL
- certlm.msc:校验 RD 网关 / 订阅服务 SSL 证书信任链
- vaultcmd.exe:命令行管理工作区存储凭据
九、服务端对接配套(客户端 wksprt 通信远端服务)
- RD Web Access(IIS 站点):提供订阅 XML 资源清单
- RD Gateway:TLS 443 隧道转发 RDP 流量
- RD Connection Broker(服务器端代理,区分本地 wksprt):负载均衡、会话路由
- Azure Virtual Desktop 云服务:云工作区订阅、Azure AD MFA 认证
十、完整全链路调用数据流(串联所有配套)
plaintext
explorer/设置/脚本
↓ wkspbrokerAx.dll(前端ActiveX)
wkspbroker.exe(业务调度层)
↓ RPC / wksprtPS.dll(Proxy-Stub跨进程桥)
wksprt.exe(COM运行时内核)
├─ 读写注册表 HKCU\Software\Microsoft\Workspaces
├─ VaultAPI + DPAPI 读写加密凭据
├─ WinHTTP+Schannel HTTPS拉取RD Web订阅
└─ 调用 mstscax.dll RDP内核
↓ tsappcmp/rdpclip/rdpdr 重定向组件
↓ TLS/TCP 连接 RD Gateway / RD Connection Broker 服务端
关键配套区分:wksprt vs wkspbroker
- wksprtPS.dll:仅服务 wksprt,负责 COM 跨进程参数序列化
- wkspbrokerAx.dll:仅服务 wkspbroker,供上层 UI 调用
- wksprt = 底层 API 内核;wkspbroker = 上层业务封装,二者缺一不可,中间靠 wksprtPS 完成 IPC 通信
wksprt.exe(Workspace Runtime)完整逻辑链
wksprt 是远程工作区底层 COM 运行时内核,只提供标准化底层接口,无会话复用、UI 同步等上层业务逻辑;所有上层行为由 wkspbroker 调用其 COM 接口驱动,整条逻辑分为:进程初始化逻辑链、工作区订阅同步逻辑链、凭据 SSO 逻辑链、远程资源启动逻辑链、会话生命周期底层管理逻辑链、注销清理逻辑链、异常容错逻辑链。
前置调用链路总骨架
上层程序 (explorer / 设置 / PowerShell) → wkspbrokerAx.dll → wkspbroker.exe(业务封装层)
→ wksprtPS.dll Proxy-Stub RPC 序列化 → wksprt.exe 底层 COM 内核 → 系统底层 API/RDP 栈
一、wksprt 进程自启动 & 初始化逻辑链
- wkspbroker 首次调用任意 IWorkspace 系列 COM 接口;
- COM 子系统读取注册表 CLSID 配置,匹配到 wksprt.exe 进程外 COM 服务;
- 系统启动独立 wksprt.exe(当前用户会话单实例);
- 进程加载依赖库:rpcrt4、ole32、crypt32、winhttp、vaultapi、wksprtPS.dll;
- 注册全部 COM 对象工厂:IWorkspace、IWorkspaceScriptable、IWorkspaceRegistration、IWorkspaceReportMessage;
- 初始化四大内存池:
- 工作区对象池(缓存已订阅工作区实例)
- 凭据上下文池(解密后的登录令牌临时缓存)
- RDP 连接上下文池(存储 mstscax 连接句柄)
- 资源引用计数表(RemoteApp / 虚拟桌面计数)
- 注册系统回调钩子:证书校验回调、凭据库变更通知、网络状态监听;
- 主线程阻塞等待 RPC 请求,进入常驻休眠状态,等待上层调用。
二、工作区订阅同步底层逻辑链(IWorkspaceRegistration)
- wkspbroker 下发订阅 URL、用户认证令牌,调用
RegisterWorkspace; - wksprt 调用 WinHTTP + Schannel 发起 HTTPS 443 请求 RD Web Feed;
- 底层执行证书全链路校验:根证书信任、证书有效期、CRL 吊销检查,校验失败直接返回错误;
- 解析服务端返回 XML,提取 RemoteApp 列表、虚拟桌面、RD 网关地址、RDP 默认参数、用户权限标识;
- 内存创建
CWorkspace对象实例存入工作区对象池; - 调用 advapi32 注册表 API,写入 HKCU\Software\Microsoft\Workspaces,持久化订阅配置(仅加密参数,不存明文账号);
- 调用 VaultAPI,将订阅身份凭据存入 Windows 通用凭据,DPAPI 加密;
- 向上返回同步完成事件,wksprt 通过 IWorkspaceReportMessage 写入 WorkspaceRuntime 事件日志;
- 通知 wkspbroker 刷新本地「远程资源」快捷方式视图。
三、凭据与 SSO 免登底层逻辑链(IWorkspaceScriptable)
- 上层发起启动资源前,wkspbroker 调用
StartWorkspace绑定工作区 ID; - wksprt 根据工作区唯一标识检索 Vault 内对应加密凭据;
- 调用 dpapi.dll 解密凭据,仅在内存生成临时明文上下文,用完立刻清零;
- 读取组策略判断
允许保存凭据/自动SSO登录,策略禁用则截断自动填充逻辑; - 缓存凭据句柄到凭据上下文池,后续启动同工作区资源可重复复用,无需重复解密;
- 建立 RDP 连接时,自动将凭据注入 mstscax 认证参数,实现免弹窗登录;
- 调用
ClearWorkspaceCredential时:内存凭据清零、删除 Vault 对应条目、注册表标记凭据失效。
四、RemoteApp / 虚拟桌面启动底层逻辑链(IWorkspace)
- wkspbroker 传入工作区 ID、资源唯一 ID,调用
StartRemoteApplication; - wksprt 检索内存池,匹配对应 CWorkspace 对象,读取缓存的 RD 网关、NLA、多显示器、设备重定向全套 RDP 参数;
- 区分资源类型自动填充 RDP 标识:
- RemoteApp:写入 RemoteApplicationMode=1 无缝窗口参数
- 完整虚拟桌面:标准全桌面 RDP 配置
- 取出已解密的 SSO 凭据上下文,组装完整 RDP 启动参数包;
- 调用 mstscax.dll 创建 RDP 连接上下文,传入参数与认证凭据;
- 同步启动配套重定向组件:tsappcmp(窗口融合)、rdpclip(剪贴板)、rdpdr(磁盘 / 打印机);
- 建立 TLS 加密通道:内网直连 TCP3389,公网走 RD Gateway 443 隧道;
- 将生成的会话句柄、进程 PID 返回给 wkspbroker,供上层做会话复用业务管理;
- 挂载心跳监控钩子,持续监听 RDP 连接状态。
五、会话生命周期底层管控逻辑链
wksprt 只负责底层连接上下文创建与销毁,会话复用延迟计时由 wkspbroker 业务层控制
- 每启动一个远程资源,IWorkspaceRegistration 资源引用计数 + 1;
- 内置心跳线程定时轮询 mstscax 连接状态,捕获网络中断、远程注销、应用崩溃;
- 用户关闭远程窗口,上层通知 wksprt,资源引用计数 - 1;
- 引用计数 > 0:保留底层 RDP 连接上下文,不销毁;
- 引用计数 = 0:向上通知 wkspbroker 启动 30 秒延迟回收计时;
- 超时无新资源启动,wksprt 执行底层销毁流程:
- 调用 mstscax 关闭 RDP 套接字
- 终止 rdpclip、rdpdr、tsappcmp 重定向通道
- 清空当前会话上下文内存缓存
- 释放网络、COM、图形句柄资源;
- 单次会话异常崩溃:仅销毁单条连接上下文,不影响其他工作区、不退出 wksprt 进程。
六、移除 / 注销工作区完整清理逻辑链
- wkspbroker 调用
UnregisterWorkspace,传入目标工作区 ID; - wksprt 遍历会话池,强制断开该工作区所有 RDP 连接;
- 资源引用计数全部清零,释放全部会话上下文;
- 三层持久化数据清理:
- 删除注册表 HKCU\Software\Microsoft\Workspaces 对应订阅项
- VaultAPI 删除 WorkspaceFeed 开头的加密凭据
- 通知资源管理器删除本地远程资源快捷方式;
- 从内存工作区对象池移除 CWorkspace 实例,释放全部内存资源;
- 事件日志记录工作区注销操作。
七、底层异常容错逻辑链
- COM 跨进程通信异常(wksprtPS 损坏、RPC 断开):向上返回 HRESULT 错误码,上层弹窗提示订阅 / 启动失败,wksprt 进程不崩溃;
- DPAPI 解密失败:凭据上下文销毁,强制上层弹出手动输入账号密码框;
- RD Web 订阅网络超时 / 证书校验失败:终止同步流程,写入错误事件日志,不污染本地旧缓存配置;
- mstscax RDP 内核崩溃:仅销毁故障会话上下文,其余工作区正常运行;
- 组策略校验拦截(禁用 SSO、禁止外部网关):直接拒绝接口调用,返回策略限制错误;
- 内存资源泄漏兜底:wksprt 空闲超时时自动遍历内存池,清理孤立、无引用的过期会话对象。
极简主线串联逻辑
上层请求 → wkspbroker 业务封装 → wksprtPS 跨进程 RPC 转发 → wksprt COM 内核
→ 网络拉取订阅 / DPAPI 解密凭据 → 组装 RDP 参数调用 mstscax 建立会话
→ 底层维护会话句柄与引用计数 → 计数归零后销毁连接 / 清理注册表凭据完成闭环
wksprt 与 wkspbroker 逻辑边界区分
- wksprt:只处理底层原语 —— 订阅拉取、凭据加解密、RDP 底层创建销毁、COM 对象管理;无计时、无会话复用池、无 UI 刷新、无批量任务逻辑。
- wkspbroker:业务调度层 —— 会话复用缓存、30 秒延迟回收计时、界面同步、聚合日志、组策略前置校验,全部依赖 wksprt 底层接口实现。
wksprt" 是 Windows 操作系统中的一个系统服务或进程,负责提供远程协助和技术支持功能。它是 "Windows Remote Assistance Support" 的缩写,主要用于远程连接、共享桌面和协助其他用户解决问题。
"wksprt" 允许用户在需要帮助或支持时,与远程的技术支持人员或其他授权用户建立连接,并允许他们查看和操作用户的计算机。这样,技术支持人员可以直接通过远程协助的方式来解决用户遇到的问题,而无需亲自到达用户的物理位置。
使用 "wksprt" 提供的远程协助功能,可以完成以下任务:
远程连接:用户可以启动 "wksprt" 并向技术支持人员发送请求,以建立安全的远程连接。连接会话是加密的,确保数据传输的安全性。
共享桌面:一旦建立了远程连接,用户可以与技术支持人员共享自己的桌面界面,让对方实时查看用户的屏幕内容。
控制权限:用户可以根据需要选择将桌面控制权交给技术支持人员,使其能够在用户的计算机上执行操作来解决问题,或者限制为仅查看模式。
文件传输:在远程协助过程中,技术支持人员可以通过 "wksprt" 实现文件传输功能,向用户发送文件或接收来自用户的文件,以便进行进一步的分析和解决问题。
需要注意的是,使用 "wksprt" 进行远程协助通常需要双方的共同配合和授权。用户必须允许远程连接,并提供给技术支持人员所需的连接信息和凭据。此外,确保在与可信任的技术支持人员建立连接时使用 "wksprt" 是很重要的,以避免安全风险。

浙公网安备 33010602011771号