使用带有用户名和密码的 cassia 获取会话
Posted
技术标签:
【中文标题】使用带有用户名和密码的 cassia 获取会话【英文标题】:Get sessions using cassia with username and password 【发布时间】:2013-01-25 14:48:47 【问题描述】:我有一台远程机器,我想获取所有登录用户的详细信息。我使用 cassia 作为 follwoign 编写了代码,使用 this link
ITerminalServicesManager manager = new TerminalServicesManager();
using (ITerminalServer server = manager.GetRemoteServer("SERVERIPADDRESS"))
server.Open();
foreach (ITerminalServicesSession session in server.GetSessions())
NTAccount account = session.UserAccount;
string userName = session.UserName;
if (account != null)
Console.WriteLine(account);
现在我想使用特定的UserId
和Password
连接到该服务器。我该怎么做?我没有任何选择。
我尝试的是,我给了服务器 IP 地址并构建了解决方案。然后我以其他用户身份尝试了exe
文件并提供了凭据,但未能登录。
谁能帮忙。我已经准备好放弃 Cassia,但想要一个可行的解决方案。
请帮我标记这个问题,我想不通。
【问题讨论】:
【参考方案1】:正如 Dan Ports 所说,impersonation 绝对是正确的选择。
如果在使用模拟后仍然无法连接,我发现非服务器操作系统(例如 Windows 7 或 Windows 8.1)需要在以下位置使用 registry edit 才能使 Cassia 请求正常工作:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer
在此位置,将 AllowRemoteRPC 的值更改为 1。
【讨论】:
为了使它成为一个好的答案,您应该用链接中的信息对其进行补充。链接的页面会随着时间而改变或消失。 @ZygD 添加。很好的提示。【参考方案2】:您需要使用模拟 - 底层远程桌面服务 API 不支持将凭据作为参数传递。有关模拟的更多信息,请参阅Cassia issue 32 和 cmets 中的链接。
【讨论】:
以上是关于使用带有用户名和密码的 cassia 获取会话的主要内容,如果未能解决你的问题,请参考以下文章
具有会话获取在线用户的 Spring Security 返回空