Stop-Service remote computer PowerShell

  • Windows
    • Windows 10
    • Active Directory
    • PowerShell
    • Sysprep
    • Windows Server
  • Hardware
    • Hard Drives
    • Printers
    • Routers
  • Mobile
    • Android
    • iPhone
    • iOS
  • Office
    • Outlook
    • Office 365
  • Drivers
  • Browsers
  • Reviews
  • Others
    • Adobe
    • Internet
    • Linux
    • ConfigMgr
    • CRM
    • Browsers
    • Gmail
    • VMWare
    • SQL
Type your search query and hit enter:
All Rights ReservedView Non-AMP Version
Type your search query and hit enter:
  • About the Authors
  • Contact Us
  • Homepage
  • Windows
PowerShell

Get-service: Checking the Status of Windows Services with PowerShell

Services in Windows are one of the most important parts of the operating system. Previously, to get the status of a service on Windows, you had to use the services.msc graphical snap-in or the sc.exe command-line tool [for example, sc.exe query wuauserv]. In this article, well take a look at how to check the status of a service on Windows using PowerShell.

You can use the Get-Service PowerShell cmdlet to get a list of all the services installed on the Windows operating systems, their status, and startup type. This one and other cmdlets that are used to get the status and manage Windows services, first time appeared in PowerShell 1.0. In this, article we will show typical examples of Get-Service cmdlet use to get the status of a service on local or remote computers [running or stopping], the type of services startup, also well cover how to determine the dependencies of services.

You can get a list of services on a local or remote computer by using the Get-Service cmdlet. Get-Service command without parameters returns a list of all services on the local computer.

To get the complete syntax of the Get-Service cmdlet, run the command:

get-help Get-ServiceSYNTAX Get-Service [[-Name] ] [-ComputerName ] [-DependentServices] [-RequiredServices] [-Include ] [-Exclude ] []

Use Get-Service to Check Windows Service Status

This command will list all local Windows services, their status [running or stopped], and display name:

Get-Service

The cmdlet returns a list of services sorted by name. The list contains the following Windows service properties:

  • Status shows if the server is Running or Stopped;
  • Name displays the short name of the service [used most often]
  • Display Name full service name [more descriptive and human readable].

To save the services list to a text file for future investigation, use the Out-File cmdlet:

Get-Service | Out-File "C:\PS\Current_Services.txt"

To get two or more service states, you need to specify their names divided by commas:

get-service bits, wuauserv

If you need to display only running services, use this command:

Get-Service | Where-Object {$_.Status -EQ "Running"}

The pipeline operator [|] passes the results to the Where-Object cmdlet, which selects only those services for which the Status parameter is set to Running. If you want to display only the stopped services, specify Stopped.

You can get all the properties of the service object using the Get-Member.

get-service | get-member

As you can see, these objects have the Typename System.ServiceProcess.ServiceController. The screenshot shows all the available properties and methods of service objects in Windows [most of them are not used when displaying by default].

You can display the properties of the specific service. For example, we need to display the Display Name, Status, and features of the Windows Update [wuauserv] service:

get-service wuauserv | select Displayname,Status,ServiceName,Can* DisplayName : Windows Update Status : Stopped CanPauseAndContinue : False CanShutdown : False CanStop : False

You can find all services that can be paused and resumed without Windows restart:

Get-Service|Where-Object{$_.canpauseandcontinue -eq "True"}

For example, to get the type of Windows services startup type, run the command [works in PowerShell 5.1, introduced in Windows 10/Windows Server 2016]:

Get-Service | select -property name,starttype

Hint. You can check the PowerShell version on your computer with the command:

$PSVersionTable

If you only need to get the startup type of the service, run:

[Get-Service -Name wuauserv].StartupType

There are 4 possible types of starting services:

  • Automatic automatic start during Windows boot;
  • AutomaticDelayedStart startup after system boot;
  • Manual manual start;
  • Disabled the service is disabled.

You can filter the services list by the service name using the asterisk as a wildcard:

get-service wi*

Also, note that PowerShell is not a case-sensitive language. It means that the following commands will return equal results:

get-service win* get-service WIN*

To exclude some service from the resulting list you can use the -Exclude option:

Get-Service -Name "win*" -Exclude "WinRM"

You can sort services in descending order by the value of the Status property [running services are displayed earlier than stopped]:

get-service s* | sort-object status Descending

How to Check if a Specific Service Exists via PowerShell?

If you want to check whether a specific Windows service currently exists, you can use the following commands [usually this check is used in various scripts]:

$servicename = SomeService if [Get-Service $servicename -ErrorAction SilentlyContinue] { Write-Host "$servicename exists" # do something }

Else {

Write-Host $servicename not found

# do something

}

You can check if a specific Windows service exists on a list of remote computers/servers. To perform this task, you need to save the list of remote computers to the text file comp_list.txt in a simple format:

server1 server2 server3 PC21 PC34

Now run the following PowerShell script:

$servicename = "SomeService" $list = get-content c:\ps\comp_list.txt foreach [$server in $list] { if [Get-Service $servicename -computername $server -ErrorAction 'SilentlyContinue']{ Write-Host "$servicename exists on $server " # do something } else{write-host "No service $servicename found on $server."} }

Use PowerShell to Check Service Status on a Remote Computer

You can use the Get-Service cmdlet to get the status of services not only on the local but also on remote computers. To do this, use the ComputerName parameter. You can use the NetBIOS, FQDN name, or an IP address as a computer name. Connection to remote computers is established not through PowerShell Remoting [WinRM], but Service Manager [similar to the sc.exe command].

get-service wuauserv -ComputerName remotePC1

In PowerShell v3, you can get the status of the services on multiple remote computers at once [their names must be separated by commas].

get-service spooler -ComputerName remotePC1,remotePC2, remotePC3| format-table Name,Status,Machinename autosize

Use the format-table cmdlet in this example to get a more convenient table with the list of the status of services.

Also, you can get the health of the service on a list of remote computers that is being stored in a plain text file:

$list = get-content c:\ps\comp_list.txtGet-Service -Computername [Get-Content -path c:\ps\comp_list.txt] -Name spooler | Select-Object MachineName,Name,Displayname,Status | Sort-Object Status

Or you can check the service state on all computers in a specific AD OU:

$Computers = [Get-ADComputer -SearchBase OU=Servers,OU=UK,DC=theitbros,DC=com].names foreach [$computer in $computers] { Get-Service -ComputerName $computer.Name -Name wuauserv | Where-Object {$_.status -eq "running"} | select status,name,machinename }

To restart a service on a remote computer, use the following command:

Get-Service wuauserv -ComputerName server1| Restart-Service

Use Get-Service to Display Service Dependencies

The Get-Service cmdlet has two other useful parameters you can use when managing Windows services. The DependentServices parameter returns services that depend on this service. The RequiredServices parameter returns the services on which this service depends.

The following command receives the services that needed to be run before starting the LanmanWorkstation service.

Get-Service -Name LanmanWorkstation RequiredServices

The next command returns dependent services that require the LanmanWorkstation service.

Get-Service -Name LanmanWorkstation -DependentServices

If you manually stop all dependence services, you wont be able to run your service. In order to automatically run all dependency services, use the following PowerShell one-liner:

get-service servicename | Foreach {start-service $_.name -passthru; start-service $_.DependentServices -passthru}

Managing Windows Services via PowerShell

There are several other useful cmdlets in the PowerShell module for managing services. To list all available PowerShell commands used to manage Windows services, run:

Get-Command -Noun Service

You can use these cmdlets to start, stop, restart, or change the startup type of the service.

To manage services, be sure to run powershell.exe as an administrator. You must start, stop, restart, or change the startup type of the service.

Stop service:

Stop-Service -Name Windefend

When you stop some services, an error may appear:

Stop-Service: Cannot stop service SQL Server [MSSQLSERVER] [MSSQLSERVER] because it has dependent services. It can only be stopped if the Force flag is set.

To force stop this and the dependent service, use the -Force parameter:

Stop-Service Name MSSQLSERVER -Force

Start the service:

Start-Service -Name Windefend

Restart the service:

Restart-Service -Name Windefend

If you need to change the startup type of the service, for example from Automatic to Disabled, run:

Set-Service 'WinRM' -StartupType Disabled
Cyril Kardashevsky

I enjoy technology and developing websites. Since 2012 I'm running a few of my own websites, and share useful content on gadgets, PC administration and website promotion.

Next How to Update AirPods? »
Previous « How to Generate SSH Key in Windows 10 with PuTTYGen?
Share
Published by
Cyril Kardashevsky
Tags: ConsolePowershell

    Related Post

  • How to Use Get-Acl and Set-Acl Cmdlets When Managing NTFS Permissions for a File or Folder with PowerShell?

    Access Control Lists [ACLs] are used to control access permissions to files and folders on

  • How to Convert VMDK to VHDX [VMWare to Hyper-V]?

    If you are running virtual machines on both VMware ESXi/Workstation and Microsoft Hyper-V, in some

  • How to Restore Domain Controller From Backup?

    In the previous article, we covered how to backup an Active Directory domain controller using

Recent Posts

  • Active Directory

How to Create Custom Attributes in Active Directory?

All objects [classes] of Active Directory have a predefined set of attributes [properties]. For example,

3 days ago
  • PowerShell

Fix: Unable to Find a Default Server with Active Directory Web Services Running

The error Cannot find the default server running Active Directory Web Services may appear when

5 days ago
  • Miscellaneous

RDP error: This computer cant connect to the remote computer

Lets try to figure out how to fix an RDP connection error This computer cant

6 days ago
  • PowerShell

How to Use Get-Acl and Set-Acl Cmdlets When Managing NTFS Permissions for a File or Folder with PowerShell?

Access Control Lists [ACLs] are used to control access permissions to files and folders on

2 weeks ago
  • Active Directory

How to Install and Import PowerShell Active Directory Module?

Today well show you how to install and use the Windows PowerShell Active Directory Module.

2 weeks ago
  • Miscellaneous

Fix Trust relationship Failed Issue Without Domain Rejoining

In this article, well discuss the causes for the Trust relationship failed error. This guide

3 weeks ago
  • Windows
    • Windows 10
    • Active Directory
    • PowerShell
    • Sysprep
    • Windows Server
  • Hardware
    • Hard Drives
    • Printers
    • Routers
  • Mobile
    • Android
    • iPhone
    • iOS
  • Office
    • Outlook
    • Office 365
  • Drivers
  • Browsers
  • Reviews
  • Others
    • Adobe
    • Internet
    • Linux
    • ConfigMgr
    • CRM
    • Browsers
    • Gmail
    • VMWare
    • SQL
All Rights ReservedView Non-AMP Version
  • t

Video liên quan

Chủ Đề