Tag: rdp

生成RDP配置文件问题

编辑想出来,而不是尝试通过mstsc.exe file.rdp启动它,我改为启动file.rdp,它工作得很好。 结束编辑 好的我正在研究ac#程序,其中一部分是生成自己的.rdp文件,该文件将自动连接生成时提供的所有信息。 当我尝试从命令行启动rdp文件时,我得到它不是一个虚拟连接配置文件。 如果我在Windows中双击它,它会打开,连接并登录。所以我知道密码哈希,它的生成是正确的。 我不明白为什么它通过命令行无效。 这是在.rdp文件中生成的内容 “full address:s:” + IP “username:s:” + User “domain:s:” + Domain “password 51:b:” + Pass “port:i:” + Port “screen mode id:i:1” “desktopwidth:i:800” “desktopheight:i:600” “session bpp:i:32” “auto connect:i:1” “autoreconnection enabled:i:1” “compression:i:1” “keyboardhook:i:2” “audiomode:i:2” “redirectdrives:i:1” “redirectprinters:i:1” “redirectcomports:i:0” “redirectsmartcards:i:0” “displayconnectionbar:i:1” “alternate shell:s:” “shell working directory:s:” “disable wallpaper:i:1” “disable full window drag:i:1” […]

使用RDP 8.0的C#自定义远程桌面客户端

我已经搜索了MSDN论坛,但似乎每个人(我认为)建议恢复到RDP 7.x(卸载MS更新KB2592687)。 我有一个用C#/ WPF编写的自定义远程桌面客户端,远程桌面ActiveX控件托管在WindowsFormsHost控件中。 该应用程序在更新RDP 8.0(MS更新KB2592687) 之前运行良好。 如果我卸载MS更新(恢复到RDP 7.1),该应用程序工作。 我的RDP客户端用于连接Virtualbox VRDP(Virtualbox 4.2.x),无需身份validation(Null)。 安装了RDP 8.0后,Windows远程桌面客户端(mstsc.exe)连接得很好,响应性更好(RDP 8.0增强function); 但我的自定义RD客户端无法连接。 经过进一步调查,我的自定义RDP客户端不会抛出任何exception或触发OnConnecting和OnLogonError或大多数其他事件。 奇怪的是,它只是解雇这两个事件(按顺序) OnAuthenticationWarningDisplayed OnAuthenticationWarningDismissed 我还使用RawCap( http://www.netresec.com/?page=RawCap )测试了我的自定义RDP客户端是否在这些事件之前向Virtualbox VRDP发送数据包。 令人惊讶的是,它甚至没有发送数据包。 (MS RD客户端 – mstsc.exe工作正常。) 所以它归结为我的自定义RDP客户端上的这些事件/方法调用,不幸的是我被卡住了。 (为简洁起见缩短了代码) AxMSTSCLib.AxMsRdpClient8 rdp = new AxMSTSCLib.AxMsRdpClient8(); rdp.OnAuthenticationWarningDisplayed+=new EventHandler(rdp_OnAuthenticationWarningDisplayed); rdp.OnAuthenticationWarningDismissed+=new EventHandler(rdp_OnAuthenticationWarningDismissed); rdp.Server = server; rdp.AdvancedSettings8.RDPPort = 5050; //No username/password since Virtualbox RDP authentication is set to […]

C#使用RDP的远程桌面应用程序。 如何生成证书?

我有一些问题,使用MSTSCLib从1台PC连接到另一台PC。 它与服务器一起使用,但不与普通的工作站一起工作…… private void btn_connect_Click(object sender, EventArgs e) { try { rdp_control.Server = tbx_servername.Text; rdp_control.Connect(); tabPage1.Text = “Connected”; } catch (Exception exp) { MessageBox.Show(exp.ToString()); } } private void btn_disconnect_Click(object sender, EventArgs e) { if (rdp_control.Connected.ToString() == “1”) { rdp_control.Disconnect(); } } 客户端和服务器应用程序都在同一NAT下的同一网络中。 问题是证书,……我需要找到一种方法来包含证书。 使用Windows上的普通远程桌面,您会看到一个MessageBox,其中包含以下问题:“您是否要使用此证书…. blablabla”但是这不是c#中的RDPfunction 有任何想法吗? 谢谢BR

在Winform中托管RemoteAPP会话

继续回到这个并且无法理解……我正在创建一个工作应用程序,它基本上将我们所有的工具编译成一个更易于使用的GUI。 我们使用的工具之一是我们从第三方使用的工具,并通过RDWeb作为远程应用程序托管。 现在我也经常使用远程桌面访问,我可以使用MSTSC通过Winform访问桌面, 这个过程非常有效。 我很好奇是否可以加载RemoteAPP而不是MSTSC控件中的整个桌面,这样我的用户就无法进入完整的桌面。 或者,如果在Winforms中有任何其他方式来托管RemoteAPP。 我已经查看了ITSRemoteProgram上的MSDN文档,但是当我尝试以下操作时它只会引发exception。调试器在rdp.RemoteProgram.RemoteProgramMode = true;处停止rdp.RemoteProgram.RemoteProgramMode = true; 并给出一个HRESULT E_FAILexception。 我也尝试在OnConnected事件触发后使用remoteprogram ,我得到相同的结果。 try { rdp.Server = “FFWIN2008R2DC.fflab123.net”; rdp.Domain = “fflab123”; rdp.UserName = “administrator”; IMsTscNonScriptable secured = (IMsTscNonScriptable)rdp.GetOcx(); secured.ClearTextPassword = “password123”; rdp.OnConnected += rdp_OnConnected; rdp.RemoteProgram.RemoteProgramMode = true; rdp.RemoteProgram2.RemoteApplicationName = “Calculator”; rdp.RemoteProgram2.RemoteApplicationProgram = @”C:\Windows\system32\calc.exe”; rdp.Connect(); } catch (Exception Ex) { MessageBox.Show(“Error Connecting”, “Error connecting […]

RDPSession ConnectToClient意外终止

我已经成功创建了一个桌面共享解决方案,其中RDPViewer连接到RDPSession。 这一切都很美妙。 然而,现在,我正试图让相反的工作:使用RDPViewer的StartReverseConnectListener方法和RDPSession的ConnectToClient方法(会话端将连接到查看器端以解决NAT /防火墙问题)。 我已按照http://msdn.microsoft.com/en-us/library/windows/desktop/aa373359%28v=vs.85%29.aspx中列出的步骤进行操作,主要是: 查看器通过调用StartReverseConnectListener方法获取其连接字符串,为bstrConnectionString,bstrUserName和bstrPassword参数传递NULL。 查看器通过调用StartReverseConnectListener方法启动反向连接侦听器,为pbstrReverseConnectString参数传递NULL,并为bstrConnectionString,bstrUserName和bstrPassword参数传递有效值。 查看器将在步骤1中获得的连接字符串发送到共享器。 使用C#2010,我在RDPSession端完成了以下操作: RDPSession session = new RDPSession(); session.Open(); session.Invitations.CreateInvitation(null, “test”, “12345”, 1); 然后,在RDPViewer方面,我做了: string reverseConnectString = axRDPViewer1.StartReverseConnectListener(null, null, null); (上面的步骤1) axRDPViewer1.StartReverseConnectListener(reverseConnectString, “test”, “12345”); (上面的步骤2) 然后,回到RDPSession端,我尝试使用从查看器获得的reverseConnectString来建立连接(我实际上将字符串保存到文件中,然后将其加载到RDPSession端): session.ConnectToClient(reverseConnectString); (上面的步骤3) 一旦我执行此方法,RDPViewer端就会断开错误1798,根据http://msdn.microsoft.com/en-us/library/aa373802%28VS.85%29.aspx ,这意味着: ServerCertificateUnpackErr 1798 无法解压缩服务器证书。 我觉得我错过了一些明显的东西,但我无法弄清楚是什么。 有什么建议? 谢谢!

如何以编程方式启用远程桌面连接?

我正在尝试创建一个小应用程序来设置新的Windows 7系统。 这基本上是这样我可以制作硬盘的图像,所有设置都完好无损。 我如何从C#启用远程桌面? 我觉得很有趣,每个人都在燃烧我,但没有人能够解决这个问题,sysprep无法完成设置图像所需的所有必要操作。 我想启用RDP不运行它。 我将只更改注册表项并添加防火墙设置。 我需要这个图像来执行几个硬件。 这是我需要完成的任务清单。 静态IP地址,取决于计算机。 更改文件夹权限取决于域。 更改计算机名安装Rysnc服务器安装自定义应用程序安装自定义服务防火墙权限驱动程序禁用交互式登录更改日期时间取决于要发送的系统的位置激活Windows组策略设置。 我不认为sysprep可以做所有这些事情吗?

从Console或Windows服务以编程方式创建Windows会话

如何以编程方式登录到Windows以创建Windows登录会话? 我需要一种适用于WinForms应用程序,来自Console应用程序以及(最重要的)来自Windows服务的方法。 另一个要求是我需要它来运行程序/服务运行的本地系统以及远程系统。 如果有办法使用pInvoke / Win32 API执行此操作,我也会对此持开放态度。 我在研究中发现了类似的问题/答案: 以编程方式创建和启动RDP会话(没有gui) 这里的答案说它是可能的但是提供了一个链接,但链接中的示例代码不起作用 通过Win32 API从服务创建Windows会话 没有解决问题的方法 以编程方式创建Windows会话 没有解决方案,但在http://freerdp.com为他工作的评论中提到了OP。

使用指定的用户名和密码运行mstsc.exe

我意识到在Windows 7中,无法为同一主机保存不同的凭据,但我需要一些解决方法。 我可以在代码中手动提供用户名和密码吗? 将它们存储在临时.rdp文件中?