Skip to content

TechDirectArchive

Hands-on IT, Cloud, Security, Veeam & DevOps

  • Home
  • About
  • Advertise With US
  • Reviews
  • Contact
  • Toggle search form

How to pause a PowerShell script

Posted on 09/10/202003/09/2026 Christian By Christian No Comments on How to pause a PowerShell script
  1. Home
  2. Windows
  3. How to pause a PowerShell script
PowerShell script pause

PowerShell is a cross-platform task automation and configuration management framework, consisting of a command-line shell and scripting language. Unlike most shells, which accept and return text, PowerShell is built on top of the . NET Common Language Runtime (CLR), and accepts and returns . NET objects. In this post, we will discuss How to pause a PowerShell script. Please see the difference between testing and debugging, and how to debug a PowerShell script.

You may be amazed to know that to pause a PowerShell script is not as easy and has nothing equivalent to cmd.exe’s “Pause” command. I will discuss various ways to implement the pause function in a PowerShell script.

Why perform a PowerShell Pause operation?

In PowerShell scripts, the Pause or Break command is used to introduce a pause or delay in the execution of the script. This is useful in scenarios when you want to allow the user to read output, review information, or take some action before the script proceeds.

Also, During script development, you might use Pause to temporarily stop the script execution to inspect variables, output, or the state of the system.

That is, it is used to halt the execution of a script or a sequence of commands until the user manually resumes it. It is used for displaying information and waiting for the user to acknowledge or proceed.

Note: You may have to set the Execution Policy for PowerShell to be able to run the PowerShell script. Also, you must run PowerShell as an Administrator.

Please see How to setup PowerShell on a Linux server, How to Pause Windows Update via Windows Settings. See how to set PowerShell Execution Policy via Windows Settings.

Pause a PowerShell script

Method 1: Just enter the PowerShell script into your existing script to have it paused.

Function Pause($M="Press any key to continue . . . "){If($psISE){$S=New-Object -ComObject "WScript.Shell";$B=$S.Popup("Click OK to continue.",0,"Script Paused",0);Return};Write-Host -NoNewline $M;$I=16,17,18,20,91,92,93,144,145,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183;While($K.VirtualKeyCode -Eq $Null -Or $I -Contains $K.VirtualKeyCode){$K=$Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")};Write-Host}
Delay PowerShell script

Method 2: What you could also try out is using the command below. The “/c” Carries out the command specified by string and then terminates | out-null pipes the output to out-null.

Where you’ll never see it If you want to see the “Press any key to continue…” message, remove the pipe but does not work in PowerShell ISE as it gets stuck.

cmd /c pause | out-null
Screenshot of Windows PowerShell ISE displaying a script with the command 'cmd /c pause | out-null' highlighted on line 3.

Method 3: When the Pause command is encountered. PowerShell will display a message prompting the user to press Enter to continue. Below is an example of the operation.

Write-Host "This is some information."
Pause
Write-Host "The script continues from here."

In the above example, the script will display “This is some information.” and then pause execution until the user presses Enter. After pressing Enter, the script will print “The script continues from here as shown in this example.

Conclusion

It is worth noting that Pause is more interactive and useful when running scripts from the PowerShell console. Rather than in automated scripts where user interaction might not be desirable.

You could also use the Start-Sleep instead of Pause. If you need the script to wait for a specified period before proceeding.

I hope you found this blog post on how to pause a PowerShell script very helpful. If you have any questions, please let me know in the comment session.

Thank you for reading this post. Kindly share it with others.

  • Share on X (Opens in new window) X
  • Share on Reddit (Opens in new window) Reddit
  • Share on LinkedIn (Opens in new window) LinkedIn
  • Share on Facebook (Opens in new window) Facebook
  • Share on Pinterest (Opens in new window) Pinterest
  • Share on Tumblr (Opens in new window) Tumblr
  • Share on Telegram (Opens in new window) Telegram
  • Share on WhatsApp (Opens in new window) WhatsApp
  • Share on Mastodon (Opens in new window) Mastodon
  • Share on Bluesky (Opens in new window) Bluesky
Windows Tags:PowerShell, PowerShell version 7

Post navigation

Previous Post: MDT Invalid credentials: The network was not found
Next Post: Linux Machine: Is it Virtual or a Physical server

Related Posts

  • Screenshot 2021 09 02 at 20.08.14
    Service Principal Name: How to add or reset and delete SPNs Windows
  • fghj
    How to enable or disable DotNet Framework (NetFx3) Windows
  • Restrict the number of tabs a user can open in Chrome and Edge
    Restrict the number of tabs a user can open in Chrome and Edge Windows
  • TaskScheduler
    Fix Windows Task Scheduler Error 0x1 Windows
  • jmeterlogo 3
    Install and conduct performance testing using Apache JMeter on your Web App Configuration Management Tool
  • Azure Backup 1
    How to Install Azure Backup Agent AWS/Azure/OpenShift

More Related Articles

Screenshot 2021 09 02 at 20.08.14 Service Principal Name: How to add or reset and delete SPNs Windows
fghj How to enable or disable DotNet Framework (NetFx3) Windows
Restrict the number of tabs a user can open in Chrome and Edge Restrict the number of tabs a user can open in Chrome and Edge Windows
TaskScheduler Fix Windows Task Scheduler Error 0x1 Windows
jmeterlogo 3 Install and conduct performance testing using Apache JMeter on your Web App Configuration Management Tool
Azure Backup 1 How to Install Azure Backup Agent AWS/Azure/OpenShift

Leave a Reply Cancel reply

You must be logged in to post a comment.

Microsoft MVP

vexpert-badge-stars-5

Virtual Background

VEEAMLEGEND

Categories

veeaam100

Veeam Vanguard

  • unnamed
    How to disable Network (Wireless) UI from the Welcome screen Windows
  • image 29
    How to force your website to redirect from HTTP to HTTPS using a web.config file Network | Monitoring
  • 232323232
    Your DR Network Is Probably the Part You Haven’t Tested Network | Monitoring
  • WSUS Post deployment Configuration Failed
    The schema version of the database is from a newer version of wsus Windows Server
  • gfhj
    Debugging: How to debug a PowerShell script Windows
  • SA
    How to Create Service Accounts, Organisation Units and Active Directory Security Groups Windows Server
  • windows 1 2
    How does Dynamic Host Configuration Protocol work Windows Server
  • Featured image The Local Device Name is Already in Use
    How to Fix The Local Device Name is Already in Use Windows

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 1,752 other subscribers
  • RSS - Posts
  • RSS - Comments
  • About
  • Authors
  • Write for us
  • Contact
  • Advertise with us
  • General Terms and Conditions
  • Privacy policy
  • Feedly
  • Telegram
  • Youtube
  • Facebook
  • Instagram
  • LinkedIn
  • Tumblr
  • Pinterest
  • Twitter
  • mastodon
  • Bsky

Tags

Active Directory Azure Bitlocker Microsoft Windows PowerShell WDS Windows 10 Windows 11 Windows Deployment Services Windows Server 2016

Copyright © 2026 TechDirectArchive

Loading Comments...

You must be logged in to post a comment.