Stop Powershell from exiting

22

I know that there is that little -noexit switch for PowerShell.

Is there anyway of staying in the shell without using that switch?

In other words, I want a script command(s) that executes then leaves the shell open.

This question is tagged with powershell powershell-2.0 powershell-remoting

~ Asked on 2012-02-20 14:27:41

The Best Answer is


18

This script will not exit if you run it without arguments, e.g. by double-clicking on it:

param($Work)

# restart PowerShell with -noexit, the same script, and 1
if (!$Work) {
    powershell -noexit -file $MyInvocation.MyCommand.Path 1
    return
}

# now the script does something
# this script just outputs this:
'I am not exiting'

~ Answered on 2012-02-20 17:04:42


22

You basically have 3 options to prevent the PowerShell Console window from closing, that I describe in more detail on my blog post.

  1. One-time Fix: Run your script from the PowerShell Console, or launch the PowerShell process using the -NoExit switch. e.g. PowerShell -NoExit "C:\SomeFolder\SomeScript.ps1"
  2. Per-script Fix: Add a prompt for input to the end of your script file. e.g. Read-Host -Prompt "Press Enter to exit"
  3. Global Fix: Change your registry key to always leave the PowerShell Console window open after the script finishes running.

See my blog for more information on which registry keys to modify.

Sounds like you are looking for option #1 or #3.

~ Answered on 2014-07-07 22:38:05


Most Viewed Questions: