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

问题描述 投票:2回答:2

我正在开发一个Reboot Scheduling应用程序,用于简单的远程计算机。它必须是用户友好的,所以我必须在后台有多个脚本和任务。我的主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脚本关闭的任何内容中启动辅助脚本。优选地,尽可能不那么强烈。 :) 谢谢!

powershell
2个回答
2
投票

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

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

-1
投票

使用Start-Process,您的代码看起来非常复杂

Start-Process powershell.exe -ArgumentList '-windowstyle hidden -file "C:\Reboot.ps1"'
© www.soinside.com 2019 - 2024. All rights reserved.