HOWTO: Start/Stop Windows Service Remotely on Several PCs

Restarting a service is quite a common task to any system administrators, whether on a local system or a remote computer. Now let’s take look a number of ways how to start, stop, and restart a service remotely.

Get the Name of a Service

Before we dive into the ways to operate remote service, let’s check how to get the proper the name of the service first because it will be used by any command or PowerShell cmdlet listed below. One thing worth pointing out is that the names listed in Name column in Services MMC are not the service name used in the command lines below. They are just the Display Name of the services. You will need to open the service properties dialog to find.

First step to start or stop service remotely is to Get the name of a service

Method 1: Using Command SC

It’s a built-in command line since Windows XP. It interacts with local and remote services quite easily like this:

  • SC \computername STOP servicename
  • SC \computername START servicename

You can put these commands in a batch file and run it as a login script or a scheduled task. If you know the name of the service you want to interactive, SC is pretty to deal with. However, it doesn’t work well with those services that have dependent services to rely on. One thing to note that SC doesn’t have the option to restart the service. So if you need to restart a remote service, you will need to do STOP and START separately.

By the way, you can use SC to get the name of the service, like below:

SC GetKeyName "service display name"

First step to start or stop windows service remotely is to Step 2 Method 1 SC

Method 2: PSService from Sysinternals

If you are a fan of Windows Sysinternals, you can use PSService.exe that works similar to SC and does get the job done as well. It does include a switch that can restart the service.

psservice \computername restart service

But it still doesn’t handle the service with the dependencies well.

Method 2 PSService from Sysinternals

Method 3: Using PowerShell

There are multiple ways to deal with services using PowerShell. But the following scripts seem to be the easiest ways to me:

  • Get-Service -ComputerName computername -Name servicename | Restart-Service -Force
  • Get-Service -ComputerName computername -Name servicename | Stop-Service -Force
  • Get-Service -ComputerName computername -Name servicename | Start-Service

The -Force parameter here is to deal with the service with the dependencies.

Basically, the Get-Service cmdlet with -ComputerName returns an object reference to the service in the question. And then pipe the result to Start-Service, Stop-Service, or Restart-Service to perform the respective actions.

You can also throw in the Test-Connection cmdlet in the script to test the remote connection before querying the service.

Method 4: Service Manager MMC

And of course, we can always use the built-in Service Manager MMC (services.msc) to perform the job as well. To connect to a remote services MMC, click the Services name in the left pane, go to Action, then Connect to another computer… Once connected, you can operate the services just like you do on the local system.

Method 4 Service Manager MMC

Also consider using Action1 to start/stop Windows service remotely if:

  • - You need to perform this action on multiple (hundreds or even thousands) computers simultaneously.
  • - Some of your endpoints are laptops not connected to corporate network at all times.

Action1 is a cloud-based platform for software deployment, software/hardware inventory, patch management, endpoint configuration and more. It is free with basic functionality.

Other Relevant HOWTOs: