通过命令行 SSH 会话截取的 Windows 屏幕截图

通过命令行 SSH 会话截取的 Windows 屏幕截图

我浏览了这里的一些“屏幕截图”查询,但没有找到任何能够满足我的特定需求的内容。

我正在寻找一个可以通过远程 SSH 连接运行的命令行工具(通过 cygwin sshd 守护进程)。有几种可供选择,但我试过的几种(ImageMagick、nircmd 和 MiniCap)都导致屏幕空白。我认为这是因为远程登录的用户没有运行正确的图形控制台会话。

这里的目标是通过使用来自 Unix 主机的 ssh 脚本自动捕获屏幕并检索主系统控制台(人们在查看物理监视器时会看到的内容):

ssh user@windowshost "screencap --output /tmp/console.jpg"
scp user@windowshost:/tmp/console.jpg /some/destdir

请注意,这些操作必须按需完成,因此轮询定期转储快照的远程目录将不起作用。

对于开源且具有可移植安装的程序,可获得加分(因此我不需要通过 RDP/VNC 进入机器来运行图形安装程序)。

答案1

如果你的机器上已经有 VNC,你可以尝试通过 VNC 截屏,例如VNC 快照

答案2

您是否尝试过使用 SysInternals 的PsExec 实用程序代替 SSH?或者甚至作为 SSH 的补充(即ssh user@host "psexec screencap --output /tmp/console.jpg")。我不知道它是否会起作用,但似乎值得一试。

答案3

以下通过 ssh 登录捕获远程 Windows 桌面的方法对我有用。

所需工具:

将 psexec.exe/paexec.exe、miniCap 传输到 Windows 机器。

  1. 登录到 Windows 机器:PUTTY.EXE[电子邮件保护]
  2. 在远程机器上执行:
paexec.exe \\10.0.0.38 -i -d -s <path_to_program>\MiniCap.exe -nofocus -capturedesktop -save "screen_$appname$_$date$_$uniquenum$.jpg" -closeapp -exit

答案4

您需要下载并安装执行程序nircmd在您的远程机器上并确保它们正常工作。

用法:登录ssh [email protected]

然后运行此命令(远程机器ip地址):

psexec \\192.168.0.10 -d -i -s nircmd savescreenshot C:\Users\johndoe\Downloads\www\screen.jpg

相关内容