【问题标题】:Get sessions using cassia with username and password使用带有用户名和密码的 cassia 获取会话
【发布时间】: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,但想要一个可行的解决方案。

请帮我标记这个问题,我想不通。

【问题讨论】:

    标签: impersonation remote-desktop terminal-services


    【解决方案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 中的链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-02
      • 2011-02-05
      • 2019-07-30
      • 2016-09-25
      • 2019-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多