执行脚本后,PowerShell控制台不会关闭

时间:2013-08-26 20:44:40

标签: c# powershell

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

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

我们已尝试添加exitbreak,但窗口仍然保持不变。

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

Start-Process .\ProductiondataImportNew.exe -WindowStyle Hidden

答案 2 :(得分:0)

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

Stop-Process -processname powershell

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