Session 我的脚本需要Powershell-noexit,但完成后如何杀死Powershell实例

Session 我的脚本需要Powershell-noexit,但完成后如何杀死Powershell实例,session,powershell,scheduled-tasks,wrapper,Session,Powershell,Scheduled Tasks,Wrapper,我正在尝试让一个相当长的Powershell脚本作为计划任务运行。当我从Powershell ISE运行脚本时,它运行得非常好,但是如果我只是从计划任务调用它,它就不能正常工作,除非我指定-noexit。因此,我有一个批处理包装器脚本,我使用指定了-noexit的计划任务调用它,它运行良好。但是,我每20分钟调用一次,因此最终会生成大量Powershell会话进程。计划的任务也因此永远不会结束。基本上,脚本会检查是否存在带有特定标签的USB磁盘,如果存在,我会将一些文件复制到其中 我的问题是,因

我正在尝试让一个相当长的Powershell脚本作为计划任务运行。当我从Powershell ISE运行脚本时,它运行得非常好,但是如果我只是从计划任务调用它,它就不能正常工作,除非我指定-noexit。因此,我有一个批处理包装器脚本,我使用指定了-noexit的计划任务调用它,它运行良好。但是,我每20分钟调用一次,因此最终会生成大量Powershell会话进程。计划的任务也因此永远不会结束。基本上,脚本会检查是否存在带有特定标签的USB磁盘,如果存在,我会将一些文件复制到其中

我的问题是,因为我使用了-noexit,所以Powershell会话一直在运行,当我每20分钟调用一次脚本时,它们就开始累积。我需要一种在我的Powershell脚本完成任务后终止Powershell会话的方法。我已尝试在批处理文件的最后一行中使用exit,但它不会终止Powershell会话

在我的Powershell脚本完成运行后,如何终止使用-noexit调用的Powershell会话

另一种可能解决此问题的方法是确定为什么Powershell脚本在没有-noexit调用时无法正常运行,但在从Powershell ISE调用时运行良好(它只是在Powershell会话中直接运行脚本),这也可以正常运行

我研究了使用-command而不是-file,我研究了不同的包装器方法。我已尝试使用新pssession并删除pssession

脚本中有许多if-else语句,我发现如果我在命令提示符下运行它,而没有-noexit是if部分运行,但是else部分永远不会运行-即使条件正确,它也可以运行else部分。就像我说的那样,在powershell会话中工作正常。很烦人

这让我发疯,所以任何建议都将不胜感激


谢谢

使用:
停止进程$pid

或者在脚本的末尾使用
kill$pid
。它将杀死power shell实例。

如果需要帮助确定问题,则需要发布脚本。或者按照我的建议把它杀了。天哪,但愿我早一点问起。非常感谢。我看到很多其他线程使用-noexit运行可以解决问题,但当您作为计划任务运行时,这并不是真正的解决方案,因为任务永远不会结束。这个答案完全正确。