使用带有用户名和密码的 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);
            
        
    

现在我想使用特定的UserIdPassword 连接到该服务器。我该怎么做?我没有任何选择。

我尝试的是,我给了服务器 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 获取会话的主要内容,如果未能解决你的问题,请参考以下文章

React,Django:用户更改密码后如何管理会话?

会话控制之留言板

使用 cURL 使用用户名和密码登录 Gitlab

具有会话获取在线用户的 Spring Security 返回空

使用 cookie/会话存储用户名、密码 - Java Servlets [关闭]

PHP 会话只使用一个密码字段(没有用户名)?