通过 SSH 连接时无法使用 cmd.exe 打开文件/程序(但可以在本地工作)

通过 SSH 连接时无法使用 cmd.exe 打开文件/程序(但可以在本地工作)

首先,我要说的是,我是 Windows 新手。在 Mac 和 Debian 方面我并不笨,但 Windows 世界对我来说基本上是个谜,所以请多包涵。无论如何,问题就在这里。我正在尝试做一些看似非常简单的事情——通过 SSH 连接时从我的 Mac 打开远程 Windows 10 机器上的文件。

当我在本地的 Windows 机器上时,我可以通过多种不同的方式完成此操作。直接使用 cmd.exe,通过 .bat 文件,双击它(显然),但每当我通过 SSH 连接并尝试执行相同操作时,它看起来似乎有效,但什么也没有...

作为参考,我已成功退出我尝试打开的应用程序,并使用以下命令打开了其他应用程序:

psexec /i Restart64.exe

但由于某种原因,尝试打开这个特定的文件就是不起作用。

显然,我已经安装了 Open SSH 服务器,可以连接(使用我的私钥),而且我实际上可以通过从 cmd 调用 .PNG 文件来执行我想要的操作(它会按预期在远程计算机上打开)。但是,无论我尝试哪种方式,当我尝试使用第三方应用程序打开文件时,什么都没有发生。我尝试过使用 PsExec,尝试过使用 cmd.exe,通过将参数合并到 .bat 文件中并启动它们(使用上述两种方法),我甚至尝试过使用 Bash。但都不起作用。

我感觉这里有某种安全机制在起作用,但我不知道是什么。我对此进行了几个小时的研究,似乎其他人也遇到了类似的问题,但我试过的方法都没有奏效。任何帮助都将不胜感激。

答案1

经过一些额外的实验,我 a) 仍然不清楚为什么会出现这个问题(尽管我有一个与此无关的理论)并且 b) 已经找到了如何解决这个问题。所以这里是:

正如我在问题中所说,我能够使用批处理文件启动我想要的应用程序。我认为,如果我能够使用任务计划程序任务启动该批处理文件,我可能能够通过 ssh 按需手动启动该任务。事实证明这个理论是正确的。我确信可能有一种方法可以直接在任务计划程序中执行我想要执行的操作,但目前,我已经解决了这个问题,尽管解决方案有点不优雅。所以,简而言之,解决方案是:

1)创建批处理文件以使用我想要的应用程序打开文件。

2)在任务计划程序中创建任务以打开批处理文件

3)从我的远程机器 SSH 并运行

SCHTASKS.EXE /RUN /TN "task name"

就是这样!

相关内容