2

我有一个 PowerShell 脚本,它的最后一条指令是调用 C# 程序。此 PowerShell 脚本正在调度程序上的 Windows 服务器上运行。问题是脚本正在使用的 PowerShell 控制台窗口在脚本执行完成后不会关闭或消失。

我们需要关闭控制台窗口,否则调度程序将在任务管理器上有多个 PowerShell.exe 程序。

我们已经尝试添加exitbreak但窗口仍然保持打开状态。

PowerShell脚本中是否有任何方法可以在脚本执行完成后强制关闭控制台窗口?

4

3 回答 3

2

您是否在调用电源时尝试过 -NonInteractive 模式

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -WindowStyle Hidden -NonInteractive C:\scripts\myscript.ps1

于 2013-08-26T23:51:43.790 回答
1

通过使用 Start-Process 从 PowerShell 启动 C# 程序,您可以并行执行它,而无需让 PowerShell 等待它完成。您可以使用 -WindowStyle Hidden 来确保 C# 程序在启动时不会创建新窗口。

Start-Process .\ProductiondataImportNew.exe -WindowStyle Hidden
于 2013-08-27T20:45:05.377 回答
0

把它放在 .ps1 文件的底部:

Stop-Process -processname powershell

发现这是由于 StartInfo.RedirectStandardInput 设置为 true,我猜如果它期望更多输入它不会关闭...将其设置为 false 会在执行后正确关闭窗口。

于 2015-01-13T13:27:16.487 回答