Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SSH远程调用Windows中的show desktop_Windows_Shell_Powershell_Batch File_Ssh - Fatal编程技术网

使用SSH远程调用Windows中的show desktop

使用SSH远程调用Windows中的show desktop,windows,shell,powershell,batch-file,ssh,Windows,Shell,Powershell,Batch File,Ssh,我正在从Unix迁移到运行Bitvise SSH服务器的Windows7专业PC。然后我通过VNC查看Windows7机器 当我使用SSH时,我可以发出许多命令,但我努力最小化目标机器上的所有桌面窗口 我想调用一个脚本,该脚本使用SSH连接显示Windows7 PC的桌面。我已经尝试了很多选择,我将列出它们,我正在努力寻找更多的想法。我认为问题的关键在于,我实际上没有连接到包含我当前使用的桌面实例的连接 调用SCF脚本 我将这段代码保存在桌面上的一个SCF文件中,并调用了它。没有返回错误,但也没

我正在从Unix迁移到运行Bitvise SSH服务器的Windows7专业PC。然后我通过VNC查看Windows7机器

当我使用SSH时,我可以发出许多命令,但我努力最小化目标机器上的所有桌面窗口

我想调用一个脚本,该脚本使用SSH连接显示Windows7 PC的桌面。我已经尝试了很多选择,我将列出它们,我正在努力寻找更多的想法。我认为问题的关键在于,我实际上没有连接到包含我当前使用的桌面实例的连接

  • 调用SCF脚本
    我将这段代码保存在桌面上的一个SCF文件中,并调用了它。没有返回错误,但也没有成功。
    [shell]
    command=2
    iconfile=explorer.exe,3
    [Taskbar]
    command=ToggleDesktop

    Set shell = wscript.CreateObject("Shell.Application")
    Shell.MinimizeAll
  • 运行VBS脚本
    我的下一个想法是运行vbs脚本。我再次将以下内容放入桌面上的vbs脚本中并调用它。再一次没有错误,再一次也没有成功。
    [shell]
    command=2
    iconfile=explorer.exe,3
    [Taskbar]
    command=ToggleDesktop

    Set shell = wscript.CreateObject("Shell.Application")
    Shell.MinimizeAll
  • Powershell脚本 这是我复制到ps1文件的结果
    (New-Object -ComObject shell.application).toggleDesktop()
  • 使用批处理文件。所以我试着在批处理文件中运行所有。同样,没有错误也没有成功 我相信这些命令正在完成它的功能,它们位于桌面的不同实例中,与我正在使用VNC查看的登录实例不同

    你能提供一些建议吗

    谢谢,
    Adam

    您要查找的Windows命令如下:

    C:\Windows\System32\cmd.exe /c “%appdata%\Microsoft\Internet Explorer\Quick Launch\Shows Desktop.lnk”
    
    …可能可以缩短为:

    cmd /c “%appdata%\Microsoft\Internet Explorer\Quick Launch\Shows Desktop.lnk”
    
    我还没有用VNC测试过它,但我认为它应该可以工作,因为它评估了%appdata%目录和快捷方式本身的实际位置,所以我不希望它在当前会话中失败

    我还意识到你说你正在使用Bitvise,但对于那些使用Cygwin的人,我找到了另一个同样有效的解决方案:

    $ showdesktop="$(cmd /c "ECHO %appdata%\Microsoft\Internet Explorer\Quick Launch\Shows Desktop.lnk")"
    $ cmd /c "@start "$showdesktop""
    

    还有一些其他方法可以尝试实现这一点,另一种可能是使用VBScript的SendKeys来模拟WinKey+D。

    我不知道,伙计。我想我已经掌握了使用预定任务与桌面交互运行的方法。但是在测试中,所有命令都成功了,对VNC中出现的活动窗口没有任何影响。也许你可以使用AutoIt在后台运行并轮询文件;如果出现该文件,请将其删除并切换桌面。或者你可以最小化一个窗口,运行
    waitfor
    ,等待你可以通过ssh控制台发送的信号,切换桌面并在收到信号时循环回到开始。啊,这是一个有趣的想法。遗憾的是,没有一个合适的解决方案,但这可能会奏效。从未想过使用文件作为信号。谢谢