有没有办法远程关闭家庭网络上不支持 RDP 的 Windows 机器?

有没有办法远程关闭家庭网络上不支持 RDP 的 Windows 机器?

我有一台较旧的 Dell Dimension 台式机,最初运行的是 Windows XP,最近我将其升级到了 Windows 8.1。我计划将其用作运行 Plex 的媒体服务器,我可以通过家庭网络轻松将文件移动到它上面,并通过 Plex Web 管理员更新库。我还希望能够在不使用时关闭机器。

我不想在其中插入显示器和键盘,所以我不知道该怎么做,因为出于某种原因,远程桌面似乎仅在 Windows 8.1 Pro 中可用。我能想到的唯一办法是设置一个运行一些高度可信的代码的 Web 服务器,该代码可以调用主机上的关机命令,但我想还有一种更简单的方法。

答案1

VNC(TightVNC或许多其他版本)是一款免费的图形远程控制解决方案,类似于您想要使用的远程桌面。它支持 Windows 8.x。建议通过 VNC(尽管 SSH 隧道)在 Internet 上使用。

或者,如果您喜欢命令行,请尝试在媒体服务器上运行 SSH 服务器。然后,您可以运行 ssh 客户端(例如油灰),这将允许自动执行文件传输并以高安全性访问命令行。在 ssh 会话中,甚至直接从另一台 Windows 计算机,您可以使用关机命令行. 这使您可以关闭或重新启动本地或远程计算机。

对于低技术含量的解决方案,请尝试快速按住电源按钮一秒钟或更短时间(而不是硬关机的 5 秒钟)。Windows 应该可以正常关机或进入待机状态,具体取决于配置。

正如 Peterh 提到的,您还可以使用 Windows 内置的命令行界面 telnet。请参阅控制面板、添加/删除程序。虽然 telnet 对于家庭网络来说不安全,但还是有可能的。SSH 是推荐的安全加密替代方案,设置时间稍长。

答案2

这种“高度可信”的代码已经存在。

  • shutdown只要启用了文件共享,该工具就可以通过 RPC 进行远程关机:

    shutdown /m \\plexbox /s /t 0 /f
    

    其 Linux Samba 对应版本:

    net rpc -S plexbox -f -t 0
    

    (请注意,这需要 SeRemoteShutdownPrivilege,与常规的“本地关机”权限不同 - 即使您在本地使用它。这可以通过授予非管理员权限secpol.msc。)

  • WinRM(WS-Management)远程管理接口内置于当前的Windows版本中,支持远程运行任意命令:

    :: Start the WinRM service
    sc \\plexbox start winrm
    
    :: Run a remote command
    winrs -r:plexbox shutdown /s /t 0 /f
    
  • 同样的 WinRM 还带有PowerShell 远程处理可用于运行 PowerShell 命令:

    PS> Start-Service WinRM -ComputerName plexbox
    PS> Invoke-Command plexbox { shutdown /s /t 0 /f }
    

    PowerShell 还有一个专门的命令来关闭远程系统(我相信这使用 WinRM/PSRemoting,而不是像‘shutdown’这样的 RPC API):

    PS> Stop-Computer plexbox
    
  • 执行是 WinRM 之前用于远程运行程序的常用工具:

    C:\> psexec -es \\plexbox shutdown /s /t 0 /f
    
  • 您可以安装 SSH 服务器,例如Bitvise WinSSHd(或现在内置于 Windows 10 或更高版本的 Win32-OpenSSH 服务)。

  • 最后,正如 GeraldB 所写,除了 RDP 之外还有其他图形远程控制工具 - 例如 VNC、TeamViewer、radmin 等。

答案3

除了 RDP 和 VNC 之外,远程控制的另一个选项是以下服务登录团队查看器WebEx或其他类似屏幕共享的替代方案

这些选项(如 VNC)通常需要安装客户端。然后,您可以使用它们的服务远程登录计算机。

答案4

或者,你可以编写一个 Python 脚本,通过套接字监听端口(如果你想从任何地方访问,必须进行端口转发),然后你可以通过 Python 套接字客户端或通过 PHP 向它发出命令socket_write()来执行适当的任务,又称shutdown

相关内容