远程执行“关机/sg”



我正在使用树莓派关闭我的Windows 10计算机。我的 RPI 使用带有私钥的 SSH 在我的计算机上执行shutdown /s /t 30命令。

但是,出于优化原因,我想使用 shutdown /sg 命令;这样做,我的应用程序将在解锁会话之前自动打开。

但是,shutdown /sg需要在桌面会话上执行。

如何通过 SSH 传输的命令在桌面上执行脚本?

感谢您的帮助。

我尝试使用Invoke-Command但Powershell不是我的一杯茶。

但是,我找到了一个解决方案:

我在任务管理器中创建了一个任务(名为ShutdownSG_over_SSH_from_RPI),该任务执行shutdown sg命令。

从我的RPI中,我通过SSH执行此命令:

powershell -command "Start-ScheduledTask -TaskPath 'MyTaskPath' -TaskName 'ShutdownSG_over_SSH_from_RPI'"

我知道这不是最好的解决方案,但它有效。

如果你有PowerShell 6.0,对SSH连接的支持已经添加到New-PSSessionEnter-PSSessionInvoke-Command

这要求在树莓派和计算机上同时安装软件。

Microsoft提供了一篇很好的文章来解释如何实现这一目标:https://learn.microsoft.com/en-us/powershell/scripting/learn/remoting/ssh-remoting-in-powershell-core?view=powershell-6

您还应该查看 Invoke-Command 的文档,因为这是远程执行命令和脚本的最简单方法:https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/invoke-command?view=powershell-6

最新更新