【问题标题】:Connect to Remote Server连接到远程服务器
【发布时间】:2021-03-12 13:37:40
【问题描述】:

有没有办法在C 中以编程方式连接到远程 Windows 服务器?

我正在调查MSDN Remote Desktop Services API,但无法弄清楚。你能给我一个例子吗?我不知道如何开始。

注意

我不想显示 GUI,我只想在没有任何 UI 界面的情况下连接到服务器并执行几个任务。

【问题讨论】:

  • @SergeBallesta 这实际上是个好主意。
  • @SergeBallesta 只是想知道是否有任何协议手册?目前我正在使用 TCP 连接到我的远程计算机,但我不知道要发送什么数据来提示远程计算机(假设执行一个 shell 命令)。
  • 默认情况下,Windows 没有远程命令服务。您可以安装 OpenSSH 服务器,然后使用 ssh 客户端将命令发送到远程(可能是更简单的方法),或者从头开始构建将使用自定义协议封装命令的服务(可能风险更大但更可定制)。

标签: c windows rdp


【解决方案1】:

您可以使用 PowerShell 远程处理,如 https://theitbros.com/how-to-remotely-enable-remote-desktop-using-powershell/ 在远程计算机上启用 RDP。

然后你使用RDP客户端连接,C中可用的客户端在https://github.com/rdesktop/rdesktop/blob/master/rdp.c

或者,您可以在 C 代码中使用 mstsc.exe 的命令行界面 (https://docs.microsoft.com/en-us/windows/win32/shell/launch),我认为这就是您想要的 mstsc 命令:

login to remote using "mstsc /admin" with password

除了普通的 RDP,您还可以使用 PowerShell 会话进行远程管理:

https://docs.microsoft.com/de-de/powershell/scripting/learn/ps101/08-powershell-remoting?view=powershell-7.1#powershell-sessionshttps://docs.microsoft.com/de-de/powershell/scripting/learn/remoting/running-remote-commands?view=powershell-7.1

还有更简洁的

https://www.howtogeek.com/117192/how-to-run-powershell-commands-on-remote-computers/

Enter-PSSession -ComputerName COMPUTER -Credential USER

【讨论】:

  • 我不是 PS 的粉丝,抱歉。如果您可以更新您对 C 的问题,那么我会接受它。
猜你喜欢
  • 2017-09-16
  • 2012-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多