How to stop PowerShell from closing after running a script

by Vlad Turiceanu
Vlad Turiceanu
Vlad Turiceanu
Passionate about technology, Windows, and everything that has a power button, he spent most of his time developing new skills and learning more about the tech world. Coming... read more
Affiliate Disclosure
keep PowerShell window open
To fix various PC problems, we recommend DriverFix:
This software will keep your drivers up and running, thus keeping you safe from common computer errors and hardware failure. Check all your drivers now in 3 easy steps:

  1. Download DriverFix (verified download file).
  2. Click Start Scan to find all problematic drivers.
  3. Click Update Drivers to get new versions and avoid system malfunctionings.
  • DriverFix has been downloaded by 0 readers this month.

PowerShell is both a command-line shell and a scripting language. There’s really no surprise that it’s preferred by many users who have tasks that they want to run automatically to manage operating systems and their processes.

One of their often requirements is to stop PowerShell from closing after running a script. They wish to run a PowerShell script and make the window stay open after it finishes running. This is a must for remotely log in to another server using the requested credentials when they run the script.

So, without further ado, let’s discuss some quick tips for keeping a PowerShell window open after the script finishes running.

How can I stop PowerShell from closing after running a script?

1. Initiate a remote connection via these steps

initiate remote connection

  1. You need to create a file called execute.ps1 on the desktop.
  2. Paste this content in it:
    $br = “`n”;$br
    Write-Output ‘Step1: Press 1 for Powershell to reload’
    Write-Output ‘Step2: Press 2 to start remote session’
    Write-Host ‘This script will’ -NoNewline -ForegroundColor Green
    Write-Host ‘ not ‘ -ForegroundColor Red -BackgroundColor Black -NoNewline
    Write-Host ‘indicate which step you are on,’ -ForegroundColor Green
    Write-Host ‘if you are not sure, rather press 1 again and then 2.’ -ForegroundColor Green
    $input = Read-Host ‘Enter your choice’
    # Change the name of the execute.ps1 if you want to
    1{powershell.exe -noexit “C:users$env:usernameDesktopexecute.ps1” -noprofile}
    Clear-Host;Write-Warning ‘You are about to connect to the remote server’
    # Change the ‘RemoteServerName’ to the name of your server and change the ‘domainname’ to your actual domain name
    Enter-PSSession -ComputerName RemoteServerName -Credential “domainname$env:username”
    default{Write-Warning ‘An error has occurred’}
  3. Run it. The first time you do that, press 1 to open it up again with the ‘no exit’ switch.
  4. The second time, press 2 to initiate the remote connection to the remote computer.

2. Use the Pause command

Pause command

Why not giving a try to the Pause command at the end of execution? It will immediately cause a new command interpreter to start and run in the background.

This makes the PowerShell window wait until you decide to further press the Enter key, so go for it:
cmd /c pause

3. Add a line to the end of your script

add a line to the end of your script

Another quick, yet effective solution is to add a line like this to the end of your script:
Read-Host -Prompt “Press Enter to exit”

The effect is guaranteed and it works in PS-ISE. However, be careful that it accepts only the Enter key.

4. Execute a PowerShell script locally to run on a remote computer

PowerShell script

You may also try to create an open.ps1 like the one you’re seeing here:
powershell.exe -noexit c:remote.ps1

This calls the remote.ps1:
Enter-PSSession -ComputerName YourExchangeServer -Credential Get-Credential

5. Use the Start-Sleep cmdlet

use Start-Sleep cmdlet

When faced with the problem of looking for a way to stop PowerShell from closing after running a script, another effective, yet underrated PowerShell cmdlet is this one:
Start-Sleep -s 15

For those of you who don’t know, this Start-Sleep cmdlet or the sleep alias basically suspends the activity in a script for the specified period of time. You can use it for plenty of other tasks, such as pausing before repeating an operation or waiting for an operation to complete.

It’s up to you to decide if it’s good enough for your case. Just remember to use the Ctrl+C keyboard hotkey when you’re ready to break out of Start-Sleep.

There are plenty of uses for PowerShell when you have a lot of processes that need to run under certain conditions and you lack the time or patience to wait for each process to finish in order to start the next.

In this case, you have to prevent PowerShell from closing after running a script and you’ve seen that it’s possible. You can use any of the procedures described above according to your needs and convenience.

Let us know which one worked for you via the comments area below.


idee restoro Still having issues? Fix them with this tool:
  1. Download this PC Repair Tool rated Great on (download starts on this page).
  2. Click Start Scan to find Windows issues that could be causing PC problems.
  3. Click Repair All to fix issues with Patented Technologies (Exclusive Discount for our readers).

Restoro has been downloaded by 0 readers this month.

This article covers:Topics: