远程桌面服务管理

借助远程桌面服务 API,可以枚举和管理远程桌面会话主机 (RD 会话主机) 服务器、客户端会话和进程。

若要检索域中所有 RD 会话主机服务器的名称,请调用 NetServerEnum 函数来枚举SV_TYPE_TERMINALSERVER类型的服务器。 若要打开特定 RD 会话主机服务器的句柄,请在调用 WTSOpenServer 函数时传递服务器名称。 使用完句柄后,通过调用 WTSCloseServer 函数释放它。

可以使用 WTSOpenServer 返回的句柄在服务器上执行以下操作。

函数 操作
WTSDisconnectSession 断开客户端与指定会话的连接。 会话保持活动状态,用户可以再次登录以连接到同一会话。
WTSEnumerateSessions 返回指定 RD 会话主机服务器上的会话列表。
WTSEnumerateProcesses 返回指定 RD 会话主机服务器上的进程列表。
WTSLogoffSession 注销指定的会话。
WTSQuerySessionInformation 返回有关指定 RD 会话主机服务器上的指定会话的信息。
WTSSendMessage 显示客户端上指定会话的消息框。
WTSShutdownSystem 关闭并选择性地重启指定的 RD 会话主机服务器。
WTSTerminateProcess 终止指定 RD 会话主机服务器上的指定进程。
WTSVirtualChannelOpen 打开指定虚拟通道的服务器端的句柄。 有关虚拟通道的详细信息,请参阅 使用远程桌面服务虚拟通道
WTSWaitSystemEvent 等待事件,例如创建客户端会话或登录到 RD 会话主机服务器的用户。

 

其中几个函数分配缓冲区以将信息返回到调用方。 使用完缓冲区后,通过调用 WTSFreeMemory 函数释放缓冲区。