Chapter 22. System Services

22.0. Introduction

As the support mechanism for many administrative tasks on Windows, managing and working with system services naturally fits into the administrator’s toolbox.

PowerShell offers a handful of cmdlets to help make working with system services easier: from listing services, to life cycle management, and even to service installation.

22.1. List All Running Services

Problem

You want to see which services are running on the system.

Solution

To list all running services, use the Get-Service cmdlet:

	PS >Get-Service

	Status   Name                DisplayName
	------   ----                -----------
	Running  ADAM_Test           Test
	Stopped  Alerter             Alerter
	Running  ALG                 Application Layer Gateway Service
	Stopped  AppMgmt             Application Management
	Stopped  aspnet_state        ASP.NET State Service
	Running  AudioSrv            Windows Audio
	Running  BITS                Background Intelligent Transfer Ser...
	Running  Browser             Computer Browser
	(...)

Discussion

The Get-Service cmdlet retrieves information about all services running on the system. Because these are rich .NET objects (of the type System.ServiceProcess.ServiceController), you can apply advanced filters and operations to make managing services straightforward.

For example, to find all running services:

 PS >Get-Service | Where-Object { $_.Status -eq "Running" } Status Name DisplayName ------ ---- ----------- Running ADAM_Test Test Running ALG Application Layer Gateway Service Running AudioSrv Windows Audio Running BITS Background Intelligent Transfer Ser... Running Browser Computer Browser ...

Get Windows PowerShell Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.