2

我有一台远程机器,我想获取所有登录的用户详细信息。我使用此链接使用 cassia 作为 follwoign 编写了代码

    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);
            }
        }
    }

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

我尝试的是,我给了服务器 IP 地址并构建了解决方案。然后我以其他用户身份尝试该exe文件并提供凭据但无法登录。

任何人都可以请帮忙。我已经准备好并愿意放弃 Cassia,但想要一个可行的解决方案。

请帮我标记这个问题,我无法理解它。

4

2 回答 2

3

正如 Dan Ports 所提到的,模仿肯定是要走的路。

如果在使用模拟后仍然无法连接,我发现非服务器操作系统(例如 Windows 7 或 Windows 8.1)需要在以下位置进行注册表编辑才能使 Cassia 请求正常工作:

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer

在此位置,将AllowRemoteRPC的值更改为1

于 2015-06-17T19:11:38.577 回答
1

您需要使用模拟——底层远程桌面服务 API 不支持将凭据作为参数传递。有关模拟的更多信息,请参阅Cassia 问题 32和评论中的链接。

于 2013-01-26T15:38:54.113 回答