我正在研究要在简单远程计算机上使用的Reboot Scheduling应用程序。它必须对用户友好,因此我必须在后台使用多个脚本和任务。我的主GUI脚本需要在新的隐藏窗口中启动辅助脚本,以便可以关闭主GUI脚本。
次要脚本(Reboot.ps1)将一直运行,直到用户重新启动计算机后重新启动。
下面的代码开始隐藏辅助脚本,但作为一种“子作业”,由于该脚本可以“永远”运行,因此不会结束,因此留下了 Main GUI脚本冻结打开,直到在任务管理器中被杀死(我不十分友好)。
$program = Powershell.exe -windowstyle hidden -file "C:\Reboot.ps1"
$scriptblock = $ExecutionContext.InvokeCommand.NewScriptBlock("Invoke-Command {$program}")
Invoke-Command -NoNewScope -Scriptblock $scriptblock
所以我要问的是,是否有人知道如何在新的PowerShell窗口,实例,环境以及允许 Main GUI脚本的任何东西中启动辅助脚本。关闭。优选地,如果可能,降低强度。 :)谢谢!
答案 0 :(得分:2)
使用Start-Process
自己的-WindowStyle Hidden
参数隐藏并异步启动脚本(默认为Start-Process
)
Start-Process -WindowStyle Hidden powershell.exe -Args '-File', 'C:\Reboot.ps1'
答案 1 :(得分:-1)
对于您要实现的目标,您的代码看起来真的很复杂,请使用Start-Process
Start-Process powershell.exe -ArgumentList '-windowstyle hidden -file "C:\Reboot.ps1"'