首页 > 解决方案 > 在 Windows 上通过 Python 使用 rcmd(远程命令)

问题描述

所以我试图使用或者os打开subprocess一个 rcmd 会话并通过 DNS 名称登录到远程服务器。这是在 Windows 10 机器上。我遇到的问题是让 rcmd 会话获取服务器名称。我的代码是:

import os
os.system("C:/location/of/rcmd.exe, dnsname")

或者

p = Popen([r'C:/location/of/rcmd.exe', 'dnsname'], shell = True, stdin=PIPE, 
          stdout=PIPE, stderr=STDOUT)
output = p.stdout.read()
print(output) 

我的结果是:

“用法:rcmd [server_name [command]]

不知道我在这里做错了什么。如果我在服务器名称前输入一个字符(在本例中为“-”),则响应为:

“未知开关 -dnsname”

有人可以提供一些关于输入该 dns 名称参数的正确方法的见解吗?提前致谢。

更新:我想通了。dns 服务器名称需要两个反斜杠 (\) 才能正常工作。然后,我在服务器名称 (\\dnsname) 中添加了四个反斜杠,并且我能够正确登录。感谢 cco 的回复和删除逗号的点击。

标签: python-3.xsubprocesslogic

解决方案


推荐阅读