如何使用rdesktop命令从Linux机器远程执行Windows命令?


20

使用rdesktopLinux中的工具可以运行Windows命令吗?我尝试了以下rdesktop -s选项:

rdesktop -u user -p 10.0.0.2 -s "cmd.exe"

但我无法cmd.exe使用上述命令打开,也尝试使用完整路径:

rdesktop -u user -p'password' 10.0.0.2 -s "C:\WINDOWS\system32\cmd.exe"

但是即使我使用RDP会话也没有区别-s

我正在尝试qwinsta /server从Windows在Windows中获取RDP会话的列表。


这可能是因为只有默认的管理员才能执行任务,而不会升级为prpceed。任何其他帐户,即使具有正确的权限,也将充当管理员。


您是否看过Windows的psexec工具?它们可能在WINE下运行。
jc__

Answers:


5

如果您有权访问计算机,请在其上安装ssh服务器。在Linux上,您可以使用例如Overlook-Fing查找计算机的IP。然后键入 ssh username@ipaddressLinux shell。

例:

ssh Lenovo@192.168.0.100

然后键入用户的密码,您应该可以访问计算机的Windows命令提示符。您也可以使用telnet,但是ssh是加密的。


4

我没有使用的解决方案,rdesktop但我使用winexeLinux上的程序在Windows计算机上执行远程命令。您可以从以下URL获取该应用程序,或使用发行版的软件存储库系统进行安装。

http://sourceforge.net/projects/winexe/

更新:SSL证书是上面的sourceforge链接的自签名,所以我提供了另一个链接:

https://github.com/skalkoto/winexe

这是用法示例:

winexe -A credentials.cfg //remotehost "qwinsta /server"

您将需要使用以下登录信息创建一个certificate.cfg文件:

username=user
password=pass
domain=workplace

仅提供适用于您的域。最好不要在命令行上输入登录凭据(尤其是密码)。cmd.exe如果需要交互式提示,请尝试使用上面的示例运行。这种方法的好处是,您可以在Linux脚本中使用远程命令的输出,也可以grep输出。


在winexe中,用户应该是“管理员”才能正常工作,但就我而言,我正在尝试使用普通RDP用户,因此winexe将无法工作。
奥古斯丁

@奥古斯丁:“应该”是什么意思?您是否在某处阅读过该文字,或者您是否尝试过,如果用户名不是,则该文字不起作用administrator?您真的尝试过了吗?
Bananguin 2015年

Winexe将在Windows计算机中安装一些程序包,然后它将正常运行,并且普通用户无法安装程序包。
奥古斯丁2015年

3

从今天开始,您可以使用xfreerdp它的RemoteApp功能来执行特定的软件:

  1. 在Windows主机上启用RemoteApps。应该和编辑注册表一样简单;
  2. xfreerdp在您的Linux主机上安装。有适用于Ubuntu,Debian,Fedora,OpenSUSE和macOS的现成版本
  3. 在以下xfreerdp /u:user /d:domain /p:password /app:"||calc" /v:server位置执行命令:
    • /u:-Windows用户
    • /d:-域(WORKGROUP如果未加入广告,则可以为域)
    • /p:-Windows密码
    • /app:"||calc"-要执行的应用。可以cmd随心所欲
    • /v:-Windows主机的IP地址或主机名。

0

我已经开发collectnode了使用winrm协议与Windows连接的。

首先:创建一个主机文件:

# cat hosts.file


    [group1:vars] 
    nodetype=windows



    [group1] 
    server1
    server2
    server3
    server4
    server5

第二:在CollectNode上配置凭据

# collectnode --configure
Do you want to change the localhost User ? [y/n]: n
Do you want to change the UNIX/LINUX User used the connect to the servers? [y/n]: n
Do you want to change the WINDOWS User used the connect to the servers? [y/n]: y
Enter user name: Administrator
Enter password:
Enter domain|realm [none]: none
Enter transport mode (basic|ntlm|kerberos) [kerberos]: ntlm
Current path: /var/log/
Do you want to change the current path for log file? [y/n]: n

第三:在这些服务器上执行所需的任何命令:

# collectnode --file hosts.file --command='whatever command you need'

https://collectnode.com/executing-commands-on-remote-windows-from-linux-terminal/


2
链接不起作用,没有链接,答案是无用的。
Andrew Savinykh
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.