从Unix远程访问DOS命令行

时间:2014-08-04 22:11:39

标签: unix command-line dos remote-access

我正在寻找一种开发一些Unix脚本的方法,这些脚本将连接到DOS框(Windows server 2012)并以交互方式执行DOS命令。

我对Unix方面感到满意(我几乎肯定会使用Expect),但是我和Windows #Illiterate"并且我无法找到以这种方式连接到Windows的DOS命令行的任何信息。这甚至可以吗?

(FWIW,这是为了让我们能够使用现有Linux环境中的< tabcmd' DOS命令套件来控制Tableau Server。)

更新1 : 我认为另一种提出这个问题的方法是:Windows是否提供了与Unix相同的东西"远程shell",可从Unix访问?

1 个答案:

答案 0 :(得分:1)

没有内置工具可以做到这一点,虽然PsExec是一个几乎可以做你想要的实用工具。 PsTools不是内置的,而是托管在Technet上。要记住的一些事情:

  • PsExec实际上是将文件远程复制到Windows System32文件夹(复制是内置的一件事;)
  • Windows使用Kerberos进行身份验证。这取决于您运行该命令的计算机与您要控制的计算机位于同一Active Directory上,并且从该端设置了访问权限。 Linux可以通过第三方AD集成工具(如Quest Authentication Services,商业产品)或Centrify使用kerberos,但没有内置工具可以执行此操作。
  • Psexec未加密,这意味着如果您发送包含敏感数据的命令,则可以看到它们(虽然不是它的身份验证部分)。
  • PsExec显然仍然是Windows实用程序。我已经能够使用Wine进行工作,但仅限于本地帐户,并经过一些调整后使用匹配的主机名和内容。如果您使用QAS或Centrify进行身份验证,您的葡萄酒命令会以某种方式进行验证,但我没有对其进行测试;我不再使用AD了。

也许最大的问题是两个社区之间的哲学差异。 Windows不会经常使用命令行执行远程管理。更重视在远程系统上使用本地实用程序(即,您可以从RegEdit加载远程注册表配置单元或使用本地Windows资源管理器程序浏览远程系统的文件系统)。

总的来说,我认为Keith的解决方案实际上是最好的,也是最直接的。