我有一台较旧的 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
答案4
或者,你可以编写一个 Python 脚本,通过套接字监听端口(如果你想从任何地方访问,必须进行端口转发),然后你可以通过 Python 套接字客户端或通过 PHP 向它发出命令socket_write()
来执行适当的任务,又称shutdown