如何在新的隐藏窗口中启动此PowerShell脚本



我正在开发一个重新启动调度应用程序,用于简单的远程机器。它必须是用户友好的,所以我必须在后台有多个脚本和任务。我的主 GUI 脚本需要在新的隐藏窗口中启动辅助脚本,以便主 GUI 脚本可以关闭。

辅助脚本 (Reboot.ps1(将一直运行,直到计算机重新启动(如果用户的计划重新启动挂起(。

下面的代码启动了隐藏的辅助脚本,但作为一种"子作业",因为这个脚本可以"永远"运行,它不会结束,从而使主 GUI 脚本冻结打开,直到在任务管理器中被杀死(我知道不是很用户友好......

$program = Powershell.exe -windowstyle hidden -file "C:Reboot.ps1"
$scriptblock = $ExecutionContext.InvokeCommand.NewScriptBlock("Invoke-Command {$program}")
Invoke-Command -NoNewScope -Scriptblock $scriptblock

所以我要问的是,是否有人知道如何在新的PowerShell窗口,实例,环境中启动辅助脚本,以及允许主GUI脚本关闭的任何内容。如果可能,最好是强度较低的。:)谢谢!

使用Start-Process自己的-WindowStyle Hidden参数隐藏和异步启动脚本(Start-Process的默认值(:

Start-Process -WindowStyle Hidden powershell.exe -Args '-File', 'C:Reboot.ps1'

对于您要实现的目标,您的代码看起来非常复杂,请使用Start-Process

Start-Process powershell.exe -ArgumentList '-windowstyle hidden -file "C:Reboot.ps1"'

最新更新