Token导航 LogoToken导航TokenDH.com
Session Launcher logo
运维云端未说明官方级别未说明来源级核验

Session Launcher

MCP Server

一个.NET 8 Windows控制台实用程序,用于在特定的Windows RDSH用户会话中启动可执行文件,用于并行自动化。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
C#会话管理云端部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

everythingisalientome

提供方

everythingisalientome

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

会话启动器

A.NET 8 Windows控制台实用程序,在特定的Windows RDSH(远程桌面会话主机)用户会话中启动可执行文件。由注册表用于在隔离的用户会话中运行桌面代理和MCP工具,以实现并行自动化。

______________________________________________________________________

项目结构

SessionLauncher/
├── SessionLauncher.csproj      # .NET 8 Windows console project
├── Program.cs                  # Entry point — session lookup + process launch
└── publish/                    # Self-contained build output
    └── SessionLauncher.exe

______________________________________________________________________

运作原理

  1. 接受 --user, --exe,以及 --args 作为命令行参数
  2. 呼叫 WTSEnumerateSessions 列出所有活动的Windows会话
  3. 通过匹配属于目标用户名的会话 WTSQuerySessionInformation
  4. 通过获取该会话的用户令牌 WTSQueryUserToken
  5. 通过以下方式在该会话中启动可执行文件 CreateProcessAsUser

这确保了每个进程都在其自己的隔离的Windows桌面会话中运行——记事本和其他UI自动化在该用户的会话中不可见地发生,而不是在管理会话中。

日志记录到: C:\agents\SessionLauncher\launcher.log

______________________________________________________________________

退出代码

代码含义
0成功
1缺失 --user--exe 论点
2未找到指定用户的活动会话
3CreateProcessAsUser 失败

______________________________________________________________________

使用的Win32 API

API目的
WTSEnumerateSessions列出所有活动的Windows会话
WTSQuerySessionInformation获取会话的用户名
WTSQueryUserToken获取会话的模拟令牌
CreateProcessAsUser目标会话中的启动过程
ShowWindow / SetForegroundWindow(参考上下文)

______________________________________________________________________

构建

cd D:\VisualStudioWrkSpce\2022\SessionLauncher\SessionLauncher

dotnet publish -c Release -r win-x64 --self-contained true -o ./publish

输出: ./publish/SessionLauncher.exe

需要 net8.0-windows 目标框架。

______________________________________________________________________

# Launch an exe in a specific user session
SessionLauncher.exe --user agent_user_1 --exe "C:\agents\desktop_agent\desktop_agent.exe" --args "--port 8001 --mcp-url http://localhost:5001"

# Launch MCP tool in a specific user session
SessionLauncher.exe --user agent_user_1 --exe "C:\agents\GoogleSearchMcp\GoogleSearchMcp.exe" --args "--urls http://localhost:5001"
先决条件: 目标用户必须在计算机上具有活动的RDP会话。如果会话未处于活动状态,则返回退出代码2。

______________________________________________________________________

部署到服务器

复制整个 publish\ 文件夹到:

C:\agents\SessionLauncher\

创建日志目录:

New-Item -ItemType Directory -Force -Path C:\agents\SessionLauncher

______________________________________________________________________

服务器上的先决条件

  1. 启用RDSH角色的Windows Server 2022
  2. 用户 agent_user_1, agent_user_2, agent_user_3 已创建并添加到“远程桌面用户”组
  3. 在注册表启动之前,所有3个用户都必须具有活动的RDP会话
  4. 注册表必须以管理员身份运行(需要 WTSQueryUserToken)

______________________________________________________________________

验证活动会话

query session

预期产量:

 SESSIONNAME       USERNAME          ID  STATE
 rdp-tcp#0         agent_user_1       2  Active
 rdp-tcp#1         agent_user_2       3  Active
 rdp-tcp#2         agent_user_3       4  Active

目录标签

目录标签

C#会话管理云端部署WindowsRDSH本地部署并行自动化进程启动

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP