Получает службы на локальном или удаленном компьютере.

Синтаксис

Get-Service [[-Name] <string[]>] [-ComputerName <string[]>] [-DependentServices] [-Exclude <string[]>] [-Include <string[]>] [-RequiredServices] [<CommonParameters>]

Get-Service -DisplayName <string[]> [-ComputerName <string[]>] [-DependentServices] [-Exclude <string[]>] [-Include <string[]>] [-RequiredServices] [<CommonParameters>]

Get-Service [-InputObject <ServiceController[]>] [-ComputerName <string[]>] [-DependentServices] [-Exclude <string[]>] [-Include <string[]>] [-RequiredServices] [<CommonParameters>]

Описание

Командлет Get-Service получает объекты, представляющие службы на локальном или удаленном компьютере, как выполняющиеся, так и остановленные.

Чтобы получить с помощью командлета Get-Service конкретные службы, можно указать имена или отображаемые имена этих служб либо передать объекты служб командлету Get-Service по конвейеру.

Параметры

-ComputerName <string[]>

Получает службы, выполняющиеся на указанных компьютерах. По умолчанию используется значение "Локальный компьютер".

Введите имя NetBIOS, IP-адрес или полное доменное имя удаленного компьютера. Чтобы указать локальный компьютер, введите имя компьютера, точку (.) или "localhost".

Этот параметр не использует удаленное взаимодействие Windows PowerShell. Параметр ComputerName командлета Get-Service можно использовать, даже если компьютер не настроен на выполнение удаленных команд.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Localhost

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

false

-DependentServices

Получает только службы, зависящие от указанной службы.

По умолчанию командлет Get-Service получает все службы.

Обязательно?

false

Позиция?

named

Значение по умолчанию

False

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-DisplayName <string[]>

Задает отображаемые имена извлекаемых служб. Подстановочные знаки разрешены. По умолчанию командлет Get-Service возвращает все службы, запущенные на компьютере.

Обязательно?

true

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Exclude <string[]>

Исключает указанные службы. Значение данного параметра определяет значение параметра Name. Введите часть имени или шаблон, например "s*". Подстановочные знаки разрешены.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Include <string[]>

Извлекает только указанные службы. Значение данного параметра определяет значение параметра Name. Введите часть имени или шаблон, например "s*". Подстановочные знаки разрешены.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-InputObject <ServiceController[]>

Задает объекты ServiceController, представляющие извлекаемые службы. Введите переменную, содержащую объекты, либо команду или выражение для получения объектов. Кроме того, можно передать объект службы командлету Get-Service по конвейеру.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByValue)

Принимать подстановочные знаки?

false

-Name <string[]>

Задает имена извлекаемых служб. Подстановочные знаки разрешены. По умолчанию командлет Get-Service возвращает все службы на компьютере.

Обязательно?

false

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByValue, ByPropertyName)

Принимать подстановочные знаки?

true

-RequiredServices

Получает только службы, которые требуются указанной службе.

Этот параметр получает значение свойства ServicesDependedOn службы. По умолчанию командлет Get-Service получает все службы.

Обязательно?

false

Позиция?

named

Значение по умолчанию

False

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

<CommonParameters>

Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.

Ввод и вывод

Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.

Входные данные

System.ServiceProcess.ServiceController, System.String

Объект службы или имя службы можно передать командлету Get-Service по конвейеру.

Выходные данные

System.ServiceProcess.ServiceController

Командлет Get-Service возвращает объекты, представляющие службы на компьютере.

Примечания

Командлет Get-Service также можно вызывать с помощью встроенного псевдонима "gsv". Дополнительные сведения см. в разделе About_Aliases.

Командлет Get-Service отображает список служб, только если пользователь имеет право на их просмотр. Если командлет Get-Service не отображает службы, возможно, это вызвано отсутствием требуемых прав.

Чтобы найти имена и отображаемые имена всех служб на компьютере, введите команду "get-service". Имена служб содержатся в столбце Name, а отображаемые имена — в столбце DisplayName.

При сортировке в порядке возрастания по значению свойства Status остановленные ("Stopped") службы отображаются раньше выполняющихся ("Running") служб. Свойство Status является свойством перечисляемого типа, принимающим ограниченный набор значений состояния, которым соответствуют целые числа. Сортировка выполняется по числу, а не по значению. Остановленные службы отображаются раньше выполняющихся, поскольку значению "Stopped" соответствует число 1, а значению "Running" — число 4.

Пример 1

C:\PS>get-service

Описание
-----------
Эта команда извлекает все службы на компьютере. То же самое произошло бы при вводе команды "get-service *". По умолчанию для каждой службы выводятся такие параметры, как состояние, имя службы и отображаемое имя.






Пример 2

C:\PS>get-service wmi*

Описание
-----------
Эта команда извлекает службы, имена которых начинаются с "WMI" (сокращение для Windows Management Instrumentation, инструментарий управления Windows).






Пример 3

C:\PS>get-service -displayname *network*

Описание
-----------
Эта команда выводит на экран список служб, отображаемые имена которых включают слово 
"network". Она позволяет найти сетевые службы, даже если в их именах не содержится подстрока "Net" (например, xmlprov — Network Provisioning Service).






Пример 4

C:\PS>get-service -name win* -exclude winrm

Описание
-----------
Эти команды получают только службы, имена которых начинаются на "win", кроме службы WinRM.






Пример 5

C:\PS>get-service | where-object {$_.Status -eq "Running"}

Описание
-----------
Эта команда отображает только работающие в данный момент службы. Эта команда с помощью командлета Get-Service получает все службы на компьютере. Оператор конвейера (|) передает результаты командлету Where-Object, который отбирает среди них те, для которых параметр Status имеет значение "Running".

Status — не единственное свойство объектов служб. Чтобы просмотреть все свойства, введите "get-service | get-member".






Пример 6

C:\PS>get-service -computername Server02

Описание
-----------
Эта команда получает службы на удаленном компьютере Server02. 

Параметр ComputerName командлета Get-Service не использует удаленное взаимодействие Windows PowerShell, поэтому его можно применять, даже если компьютер не настроен на удаленное взаимодействие в Windows PowerShell.






Пример 7

C:\PS>get-service | where-object {$_.DependentServices} | format-list -property Name, DependentServices, @{Label="NoOfDependentS
ervices"; Expression={$_.dependentservices.count}} 

Name                  : AudioEndpointBuilder
DependentServices     : {AudioSrv}
NoOfDependentServices : 1

Name                  : Dhcp
DependentServices     : {WinHttpAutoProxySvc}
NoOfDependentServices : 1
...

Описание
-----------
Эти команды выводят список служб на компьютере, у которых есть зависимые службы. 

Первая команда с помощью командлета Get-Service получает службы на компьютере. С помощью оператора конвейера (|) она передает службы командлету Where-Object, который выбирает службы, значение свойства DependentServices которых отлично от "null". 

Следующий оператор конвейера передает результаты командлету Format-List. Параметр Property используется в команде для отображения имени службы, имен зависимых служб и значений вычисляемого свойства, определяющих число зависимых служб каждой службы.






Пример 8

C:\PS>C:\PS> get-service s* | sort-object status 

Status   Name               DisplayName
------   ----               -----------
Stopped  stisvc             Windows Image Acquisition (WIA)
Stopped  SwPrv              MS Software Shadow Copy Provider
Stopped  SysmonLog          Performance Logs and Alerts
Running  Spooler            Print Spooler
Running  srservice          System Restore Service
Running  SSDPSRV            SSDP Discovery Service
Running  ShellHWDetection   Shell Hardware Detection
Running  Schedule           Task Scheduler
Running  SCardSvr           Smart Card
Running  SamSs              Security Accounts Manager
Running  SharedAccess       Windows Firewall/Internet Connectio...
Running  SENS               System Event Notification
Running  seclogon           Secondary Logon

C:\PS> get-service s* | sort-object status -descending

Status   Name               DisplayName
------   ----               -----------
Running  ShellHWDetection   Shell Hardware Detection
Running  SharedAccess       Windows Firewall/Internet Connectio...
Running  Spooler            Print Spooler
Running  SSDPSRV            SSDP Discovery Service
Running  srservice          System Restore Service
Running  SCardSvr           Smart Card
Running  SamSs              Security Accounts Manager
Running  Schedule           Task Scheduler
Running  SENS               System Event Notification
Running  seclogon           Secondary Logon
Stopped  SysmonLog          Performance Logs and Alerts
Stopped  SwPrv              MS Software Shadow Copy Provider
Stopped  stisvc             Windows Image Acquisition (WIA)

Описание
-----------
На примере этой команды показано, что при сортировке служб в порядке возрастания по значению свойства Status остановленные службы отображаются раньше выполняющихся служб. Остановленные службы отображаются раньше выполняющихся, поскольку свойство Status является перечисляемым и значению "Stopped" соответствует число 1, а значению "Running" — число 4. 

Чтобы в списке сначала отображались выполняющиеся службы, используйте параметр Descending командлета Sort-Object.






Пример 9

C:\PS>get-service -name winrm -computername localhost, Server01, Server02  | format-table -property MachineName, Status, Name, DisplayName -auto

MachineName    Status  Name  DisplayName
------------   ------  ----  -----------
localhost      Running WinRM Windows Remote Management (WS-Management)
Server01       Running WinRM Windows Remote Management (WS-Management)
Server02       Running WinRM Windows Remote Management (WS-Management)

Описание
-----------
Эта команда с помощью командлета Get-Service запускает команду "Get-Service Winrm" на двух удаленных компьютерах и на локальном компьютере ("localhost"). 

Команда Get-Service выполняется на удаленных компьютерах и возвращает результаты на локальный компьютер. С помощью оператора конвейера (|) результаты передаются командлету Format-Table, который форматирует набор служб в виде таблицы. Параметр Property используется в команде Format-Table для задания отображаемых в таблице свойств, включая свойство MachineName.






Пример 10

C:\PS>get-service winrm -requiredServices

Описание
-----------
Эта команда позволяет получить службы, которые требуются службе WinRM. 

Команда возвращает значение свойства ServicesDependedOn службы.






Пример 11

C:\PS>"winrm" | get-service

Описание
-----------
Эта команда получает службу WinRM на локальном компьютере. В этом примере показано, что для передачи строки имени службы (заключенной в кавычки) командлету Get-Service можно использовать оператор конвейера (|).






См. также




Содержание