How to Restart the Computer Using PowerShell?

Ever found yourself in a pickle, needing to reboot your computer, but the usual methods seem like a snooze fest? Fear not! We’re about to dive into the nifty world of PowerShell, a powerful tool that can restart your PC with just a few keystrokes. As a system administrator, you must have encountered instances where restarting your computer could be the solution to resolve technical issues. Restarting a computer with PowerShell offers a quick and simple way to achieve this task. This guide will explore different methods and commands to restart your computer using PowerShell, whether you are working locally or remotely.

Key Takeaways

  • Restarting your computer with PowerShell can be achieved using different methods, including scripts, scheduled tasks, and shortcuts.
  • Understanding the PowerShell Restart-Computer command and its various parameters and flags is crucial to customize your restart process.
  • Troubleshooting common issues and following best practices can help ensure a smooth and successful restart process.
  • While PowerShell is a recommended option, there are alternative methods available to restart your computer.

Understanding the PowerShell Restart-Computer Command

restart-computer in powershell

Restarting your computer is often necessary to apply updates or resolve issues caused by programs freezing or crashing. Instead of manually restarting the computer, you can use PowerShell to restart the computer from the command line. PowerShell provides a simple yet powerful command Restart-Computer cmdlet that allows you to restart the current or target computers.

Before we dive into the process of restarting the computer using PowerShell, let’s understand the PowerShell Restart-Computer command and its different options. This command allows users to remotely or locally restart a computer from the PowerShell console or by using a PowerShell script.

The basic syntax for using the Restart-Computer command with the most common parameters is:

   [-ComputerName <String[]>]
   [-Timeout <Int32>]
   [-For <WaitForServiceTypes>]
   [-Delay <Int32>]
   [-Credential <PSCredential>]
   [-WsmanAuthentication <String>]
   [-Protocol <String>]

Here is the most common usage of the Restart-Computer cmdlet:

Restart-ComputerRestarts the local computer Immediately
Restart-Computer -ComputerName <name>Restarts the remote computer specified by <name>
Restart-Computer -ForceRestarts the computer forcibly, without gracefully shutting down running applications

The Restart-Computer command also has many other parameters and flags that can be used to customize the restart process according to specific needs. For example, -Wait parameter can be used to wait for the restart process to complete before returning control to the console.

When using the Restart-Computer command, it is important to note that the user executing the command must have administrative permissions on both the local and remote computers in order to successfully restart them.

In the next sections, we will explore how to restart the computer using PowerShell in different scenarios, both locally and remotely.

How to Restart the Local Computer with PowerShell?

In this section, we will guide you through the process of restarting your computer using PowerShell locally. This method allows you to execute the restart command on your own machine without the need for a remote connection. Follow the steps outlined below to restart your Windows computer with PowerShell.

Step 1: Open a PowerShell Session

The first step is to open a PowerShell session on your computer. You can do this by pressing the Windows key + X, then selecting “Windows PowerShell (Admin)” from the menu. Alternatively, you can search for “PowerShell” from the Windows Start menu, right-click the “Windows PowerShell” option (or PowerShell 7), and select “Run as Administrator”.

Step 2: Verify Your Execution Policy

Before executing any PowerShell commands, it is essential to verify your execution policy. This policy controls the level of security for running scripts on your computer. To check your execution policy, enter the following command in the PowerShell window:


You’ll get an output “RemoteSigned (or another execution policy)”. If the output shows “Restricted”, you will need to change your execution policy to run PowerShell scripts. You can do this by entering the following command:

Set-ExecutionPolicy RemoteSigned

After running this command, you should be able to execute PowerShell scripts on your machine.

Step 3: Restart Your Computer

To restart your computer using PowerShell, enter the following command in the PowerShell window:


After executing this command, your computer will start the restart process. You may need to save any unsaved work before proceeding. If you want to get the confirmation, use the -confirm switch.

Restart-Computer -Confirm

By default, PowerShell will wait for the computer to finish any tasks and close all applications before restarting. If you want to force the restart without waiting for these tasks to complete, you can use the “-Force” parameter:

Restart-Computer -Force

This will force the computer to restart immediately, bypassing any active tasks or open applications.

Restarting your computer using PowerShell locally is a quick and efficient method for troubleshooting technical issues or performing routine maintenance. By following the steps outlined above, you can restart your computer with ease.

Restarting a Remote Computer using PowerShell

To restart remote computers, use the -ComputerName parameter and provide the name of the remote computer. To do this, open a PowerShell session and enter the following command:

Restart-Computer -ComputerName <computer-name>

Replace computername with the name or IP address of the remote computer you want to restart.

You may encounter an error if you don’t have permission to connect to the remote computer. In this case, you will need to use a PowerShell credential object to authenticate your login. You can do this by using the following command:

#Get credentials to connect
$cred = Get-Credential

#Restart remote computer
Restart-Computer -ComputerName <Computer-Name> -Credential $Creds -Force

This command will prompt you to enter your credentials. Once done, the Restart-Computer command initiates the restart process.

Restart-Computer -ComputerName "Server1","Server2","Server3" -Force

This restarts the computers Server1, Server2, and Server3 without confirmation prompts.

Writing a PowerShell Script to Restart the Computer

If you need to restart your computer frequently, creating a PowerShell script can save you time and effort. A script is a set of commands that can be executed together, automating a specific process. In this section, we will guide you on how to create a simple PowerShell script to restart your computer with ease.

Step 1: Open PowerShell ISE or Visual Studio Code (Or any other text editor)

To create a PowerShell script, you can use the PowerShell Integrated Scripting Environment (ISE), which provides a user-friendly interface for writing, testing, and debugging scripts. To open PowerShell ISE, type “powershell_ise” in the Start menu search bar, and click on the PowerShell ISE option that appears.

Step 2: Write the Script

Once PowerShell ISE is open, you can start writing your script. In this case, we want to create a script that restarts the computer. To do so, we will use the Restart-Computer command, which we discussed in the previous section.

Begin by typing the following code:


This command will restart the computer immediately without any warning.

Step 3: Save the Script

Once you have written your script, you need to save it. To do so, click on File > Save As in PowerShell ISE, and choose a name and location for your script. It is recommended to save the file with a .ps1 extension, which identifies it as a PowerShell script.

For example, you can save the file as “Restart-Computer.ps1” in the Documents folder.

Step 4: Run the Script

After saving the script, you can run it by opening a PowerShell session and executing it. To do so, type the following command:


This command will execute the Restart-Computer script that you just created. Alternatively, you can create a shortcut to the script on your desktop or taskbar for easy access.

Restarting the Computer using a Shortcut with PowerShell

If you find yourself needing to restart your computer frequently, creating a shortcut on your desktop can be a convenient way to initiate the process quickly and easily. This section will guide you through the steps to create a desktop shortcut that executes a PowerShell command to restart your computer.

Step 1: Create a PowerShell Script

First, we must create a PowerShell script to restart the computer. Open Notepad or any other text editor and copy the following command into the file:


Save the file as Restart.ps1 on your desktop.

Step 2: Create a Desktop Shortcut

Right-click on an empty area of your desktop and select New and then Shortcut. This will open the Create Shortcut wizard.

In the wizard, you will be prompted to enter the location of the item you want to create a shortcut for. Enter the following path:

powershell.exe -ExecutionPolicy Bypass -File C:\Users\YourUserName\Desktop\Restart.ps1

Replace YourUserName with your actual username.

Click Next and give your shortcut a name, such as “Restart Computer”. Click Finish to create the shortcut.

Step 3: Pin the Shortcut to the Start Menu or Taskbar (Optional)

You can pin the shortcut to the Start menu or taskbar for quick access. Right-click on the shortcut and select Pin to Start or Pin to Taskbar.

Using the Shortcut to Restart Your Computer

Now that you have created the shortcut, using it to restart your computer is as simple as double-clicking on the icon. PowerShell will execute the Restart.ps1 script and restart your computer.

Restarting the Computer with PowerShell and a Scheduled Task

If you want to schedule a computer restart for a specific time or condition, PowerShell combined with a scheduled task can help you achieve that. This section will guide you through the steps to create a scheduled task that will automatically restart your computer.

Step 1: Creating a Scheduled Task

To create a scheduled task, open the Task Scheduler on your local computer by searching for “task scheduler” in the Start menu. Click on “Create Task” in the right-hand panel and give your task a name and a description.

Under the “General” tab, select the option to run whether the user is logged on or not and choose the highest privileges.

Step 2: Configuring the Scheduled Task

Under the “Triggers” tab, create a new trigger for the task by clicking “New.” Choose the start date and time for the restart and select the appropriate options for how often the task should run. Set the trigger to begin the task “At log on” or “On a schedule,” depending on your needs.

Under the “Actions” tab, add a new action to the task by clicking “New.” In the “Action” field, enter “powershell.exe” and in the “Arguments” field, enter the restart command for the remote computer using the “Restart-Computer” cmdlet.

Step 3: Testing and Troubleshooting

Once you have configured the scheduled task, test it by running the task manually or waiting for the scheduled time to arrive. If the task encounters any issues, use the Task Scheduler’s “History” tab to view the task’s status and any error messages that may have been generated.

Ensure that the administrative account credentials are correct. If the scheduled task fails, review the arguments and command syntax for any mistakes or typographical errors.

By following these steps, you can restart a computer at a specific time using PowerShell and a scheduled task. This method can save time and effort compared to restarting each computer manually.

Troubleshooting Common Issues with Restarting Computers using PowerShell

Restarting computers using PowerShell is generally a straightforward process, but there may be instances where you encounter issues that prevent a successful restart. In this section, we will outline some common problems that you may face and provide solutions to help you overcome them.

Error Messages

When attempting to restart your computer with PowerShell, you may encounter error messages such as “Access is denied” or “The service cannot accept control messages at this time.” These can often indicate that you do not have the necessary permissions to restart the computer or that a particular service is not responding.

To resolve these issues, you can try running PowerShell with administrative privileges or troubleshooting the specific service that is causing the problem. You can also try using the -Force flag with the Restart-Computer command to forcefully terminate all running processes and services.

Connectivity Issues

If you are attempting to restart a remote computer using PowerShell, connectivity issues can arise that prevent a successful restart. These issues can include network problems, firewalls, or incorrect credentials.

To resolve connectivity issues, you can try checking your network settings, verifying your credentials, and ensuring that the target computer is connected to the network. You can also try using the Test-Connection command to troubleshoot network connectivity.

Hanging or Frozen System

In some cases, attempting to restart the computer with PowerShell may cause the system to hang or become frozen. This can be caused by processes or applications that are not responding or services that are preventing a clean restart.

To resolve this issue, you can try closing any open applications or processes manually before using PowerShell to restart the computer. You can also try using the -Force flag with the Restart-Computer command to forcefully terminate all running processes and services.

Insufficient Resources

If your computer does not have sufficient resources to complete a restart process, you may encounter issues such as slow performance or system crashes. This can be caused by low memory or disk space, or by too many running applications or processes.

To resolve this issue, you can try closing any unnecessary applications or processes before using PowerShell to restart the computer. You can also try freeing up disk space or adding more memory to your system.

By following these troubleshooting steps, you can resolve common issues that may arise when attempting to restart your computer using PowerShell. If you continue to experience problems, consult online resources or seek assistance from a technical professional to help you overcome any issues and ensure a successful restart.

Best Practices for Restarting Computers with PowerShell

Restarting computers using PowerShell can be a convenient and efficient way to resolve technical issues. However, it is important to follow some best practices to ensure a successful restart process. In this section, we will share some tips and recommendations that you should keep in mind when restarting computers with PowerShell.

1. Understand the Restart-Computer Command

Before executing the restart process, it is crucial to understand the PowerShell Restart-Computer command and its different parameters. By knowing the command, you can customize the restart process according to your specific needs. Some of the commonly used parameters include -Force, -Credential, -Timeout, and -Wait.

2. Test the Restart Process in a Safe Environment

Prior to restarting a computer using PowerShell, it is advisable to test the restart process in a safe environment. This can help you identify any issues or errors that may arise during the process. For instance, you can test the restart process on a virtual machine or a non-critical device before executing it on the actual computer.

3. Use the -Force Parameter with Caution

The -Force parameter in the Restart-Computer command can be helpful in some scenarios, such as when there are unresponsive programs or services that prevent a normal restart. However, it should be used with caution as it can result in data loss or other complications. Before using the -Force parameter, ensure that you have saved all important files and closed all necessary applications.

4. Add a Timeout Value

When executing the restart process with PowerShell, it is recommended to add a timeout value to avoid any unexpected delays or errors. The -Timeout parameter allows you to specify the time duration in seconds for the computer to complete the restart process.

5. Verify the Restart Status

To ensure that the restart process is successful, it is important to verify the restart status of the computer. You can do this by using the Test-Connection command or by checking the event log for any relevant entries. Verifying the restart status can help you identify any issues that may have occurred during the process.

6. Use PowerShell Scripts for Automating the Restart Process

If you need to restart computers frequently, it can be helpful to create PowerShell scripts that automate the restart process. This can save time and increase efficiency. However, ensure that the script is tested in a safe environment before executing it on multiple computers.

By following these best practices, you can use PowerShell to restart computers seamlessly and effectively. Ensure that you are familiar with the command and its parameters, use caution when using the -Force parameter, and verify the restart status for a successful restart process. In addition, using PowerShell scripts and keeping PowerShell up-to-date can increase efficiency and minimize errors.

Exploring Alternatives to Restarting Computers with PowerShell

While PowerShell is a robust tool for restarting computers, there are alternative methods worth considering. In some cases, you may need to use other methods due to limitations or specific requirements.

Using the traditional Restart Method

The most straightforward approach to restart a computer is to use the traditional method of the Start menu. Click on the Start button, then select the Power icon, and finally choose Restart. This method is simple, convenient, and does not require any technical skills or commands.

Using the Command Prompt

If you prefer a command-line interface over PowerShell, you can use the Command Prompt to restart your computer. Open the Command Prompt by typing “cmd” in the Start menu search box, and hit Enter. Type the command “shutdown /r” to restart the computer instantly. You can also specify a time delay by adding the time value in seconds after the /t switch, like this: “shutdown /r /t 60” to restart the computer after 60 seconds.

Using Third-Party Tools

There are various third-party tools available that can help you restart your computer. Some of the popular examples include Reboot, Shutdown Timer, and Auto Power-on & Shutdown, among others. These tools offer additional features like scheduling, customization, and automation, which can be useful for specific scenarios.

Using the BIOS or UEFI Settings

If you are experiencing issues with the operating system or need to reset the computer entirely, you can use the BIOS or UEFI settings to restart the computer. Restarting from the BIOS or UEFI settings will erase all the data on the hard drive and restore the computer to its default settings. However, this method requires technical knowledge and can be risky if not executed correctly.


In conclusion, Restarting computers is a common system administration task that is needed to apply updates or resolve issues with crashed programs. With its rich set of commands and parameters, PowerShell provides users with a flexible and efficient way to restart their computers in various scenarios. It’s important to follow best practices to ensure a smooth restart process. For example, it’s always a good idea to close all running applications and save your work before executing the restart command. You must have appropriate administrative privileges and network access when using PowerShell to restart a remote computer. Additionally, it’s important to ensure that the remote computer is accessible.

I hope this guide has provided you with the necessary knowledge to use PowerShell to restart your computer. By applying the methods and best practices outlined in this guide, you can confidently resolve technical issues and improve system performance.

How can I restart my computer using PowerShell?

To restart your computer using PowerShell, follow these steps:
1. Open a PowerShell session.
2. Execute the Restart-Computer command.
3. Wait for the computer to restart.

What is the PowerShell Restart-Computer command?

The PowerShell Restart-Computer command is a built-in cmdlet that allows you to restart a computer from within a PowerShell session. It provides various parameters and flags that allow you to customize the restart process.

How do I write a PowerShell script to restart the computer?

To write a PowerShell script to restart the computer, follow these steps:
1. Open a text editor.
2. Write the necessary PowerShell commands to restart the computer.
3. Save the file with a .ps1 extension.
4. Execute the script whenever you need to restart your computer.

How can I create a shortcut to restart the computer using PowerShell?

To create a shortcut on your desktop to quickly restart the computer using PowerShell, follow these steps:
1. Right-click on your desktop and select “New” > “Shortcut”.
2. In the location field, enter the PowerShell command to restart the computer.
3. Give the shortcut a name and click “Finish”.
4. Double-click the shortcut whenever you want to restart your computer.

Can I schedule a computer restart using PowerShell?

Yes, you can schedule a computer restart using PowerShell. By combining PowerShell with a scheduled task, you can specify a specific time or condition for the restart to occur automatically. Follow the steps provided in this guide to create a scheduled task that will restart your computer as desired.

How do I troubleshoot common issues with restarting computers using PowerShell?

If you encounter errors or issues when restarting computers using PowerShell, you can follow these troubleshooting steps:
1. Check for any typos or errors in the PowerShell command used for restarting the computer.
2. Ensure that you have the necessary permissions to restart the computer.
3. Verify the network connectivity between your machine and the remote computer (if applicable).
4. Review the system logs for any relevant error messages.
5. Consult online resources or seek assistance from technical support if further troubleshooting is required.

Salaudeen Rajack

Salaudeen Rajack - Information Technology Expert with Two-decades of hands-on experience, specializing in SharePoint, PowerShell, Microsoft 365, and related products. He has held various positions including SharePoint Architect, Administrator, Developer and consultant, has helped many organizations to implement and optimize SharePoint solutions. Known for his deep technical expertise, He's passionate about sharing the knowledge and insights to help others, through the real-world articles!

Leave a Reply

Your email address will not be published. Required fields are marked *