C# 以编程方式创建和启动RDP会话(无gui)

C# 以编程方式创建和启动RDP会话(无gui),c#,.net,c++,windows,C#,.net,C++,Windows,我想知道是否有办法以编程方式在Windows服务器上创建和启动远程桌面会话 我正在尝试创建一个自动工具来创建本地用户,然后启动关联RDP会话。我已经创建了本地用户并将其添加到远程桌面用户(使用net.exe)。 但我被下一步打动了:创建并启动用户的rdp会话。 如果没有远程桌面客户端Gui,我不知道如何处理这个问题 我正在Windows Server 2003上工作,并将VS2008与.NET 3.5一起使用 注意。您可以使用远程桌面ActiveX控件进行连接,您需要将其托管在表单中,但表单不需

我想知道是否有办法以编程方式在Windows服务器上创建和启动远程桌面会话

我正在尝试创建一个自动工具来创建本地用户,然后启动关联RDP会话。我已经创建了本地用户并将其添加到远程桌面用户(使用net.exe)。 但我被下一步打动了:创建并启动用户的rdp会话。 如果没有远程桌面客户端Gui,我不知道如何处理这个问题

我正在Windows Server 2003上工作,并将VS2008与.NET 3.5一起使用


注意。

您可以使用远程桌面ActiveX控件进行连接,您需要将其托管在表单中,但表单不需要可见。有关示例,请参见

,您可以调用mstsc.exe并在命令行上传递参数,告诉它要连接到什么


首先,我发现服务器上需要一个选项来启用终端服务自动登录

  • 在终端服务器上,单击开始,指向程序,指向 管理工具,然后单击 终端服务器连接 配置
  • 双击rdp tcp连接,然后单击高级。 如果要修改的属性 ICA客户端,双击ICA rdp 连接,然后单击 财产
  • 在自动登录部分,单击以清除密码检查提示 盒子
  • 单击确定,单击确定,然后单击连接菜单上的退出
  • 来源:support.microsoft.com/kb/260711

    之后,我根据这个项目做了一些事情: codeproject.com/KB/cs/RemoteDesktop_CSharpNET.aspx 就我所测试的内容而言,我认为不可能省略RDP客户端连接(MsTscLib或mstsc.exe) 我有些东西很管用,但它的风格肯定不好。我正在使用ActiveX组件事件来了解连接的结果。Ie:OnlogError和OnLoginComplete

    以下是我的消息来源:


    我在等待你的评论

    我有点困惑。是否要在lcoal计算机上创建远程桌面用户,然后启动到本地计算机的远程桌面会话?还是从哪里来的?根据定义,你需要不止一台机器,那么你打算如何通过一个应用程序以编程方式实现这一点?@Mystere-Man:这个想法是要有一种自动方式来创建本地用户和关联RDP会话,以便获得一个封闭的执行上下文来为他提供服务。我对你要做的事情仍然很模糊。你似乎想要与你实际所说的不同的东西。你能详细描述一下你想要完成的情景吗。(@LorneCash的答案被复制到下面并被升级。现在被删除-不知道为什么)我找不到通过命令行传递用户名或密码的方法,所以这对我来说不是一个解决方案,但它可能适用于其他不希望完全自动化的人。源链接是404