Поделиться через


Get-Service

Возвращает службы на компьютере.

Синтаксис

Get-Service
   [[-Name] <String[]>]
   [-DependentServices]
   [-RequiredServices]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Service
   [-DependentServices]
   [-RequiredServices]
   -DisplayName <String[]>
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Service
   [-DependentServices]
   [-RequiredServices]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-InputObject <ServiceController[]>]
   [<CommonParameters>]

Описание

Этот командлет доступен только на платформе Windows.

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

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

Примеры

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

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

Get-Service

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

В этом примере извлекаются службы с именами служб, начинающимися с WMI (инструментарий управления Windows).

Get-Service "wmi*"

Пример 3. Отображение служб, включающих строку поиска

В этом примере отображаются службы с отображаемым именем, включающим слово network. Поиск отображаемого имени находит связанные с сетью службы, даже если имя службы не включает Net, например xmlprov, службу подготовки сети.

Get-Service -Displayname "*network*"

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

В этом примере возвращаются только службы с именами служб, начинающимися с win, за исключением службы WinRM.

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

Пример 5. Отображение активных в данный момент служб

В этом примере отображаются только службы с состоянием Running.

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

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

Status — это лишь одно из свойств объектов служб. Чтобы просмотреть все свойства, введите Get-Service | Get-Member.

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

В этом примере возвращаются службы, которые имеют зависимые службы.

Get-Service |
  Where-Object {$_.DependentServices} |
    Format-List -Property Name, DependentServices, @{
      Label="NoOfDependentServices"; Expression={$_.dependentservices.count}
    }

Name                  : AudioEndpointBuilder
DependentServices     : {AudioSrv}
NoOfDependentServices : 1

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

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

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

Пример 7. Сортировка служб по значению свойства

В этом примере показано, что при сортировке служб в порядке возрастания по значению их свойства Status остановленные службы отображаются перед запуском служб. Это происходит потому, что значение Status является перечислением, в котором Stopped имеет значение 1, а Running имеет значение 4. Дополнительные сведения см. в разделе ServiceControllerStatus.

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

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

Пример 8. Получение зависимых служб службы

В этом примере возвращаются службы, необходимые службе WinRM. Возвращается значение свойства ServicesDependedOn службы.

Get-Service "WinRM" -RequiredServices

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

В этом примере возвращается служба WinRM на локальном компьютере. Строка имени службы, заключенная в кавычки, отправляется по конвейеру в Get-Service.

"WinRM" | Get-Service

Параметры

-DependentServices

Указывает, что этот командлет получает только службы, зависящие от указанной службы.

Type:SwitchParameter
Aliases:DS
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

Указывает в виде массива строк отображаемые имена извлекаемых служб. Разрешено использовать подстановочные знаки.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-Exclude

Указывает в качестве массива строк службу или службы, которые этот командлет исключает из операции. Значение этого параметра квалифифициирует параметр Name . Введите элемент имени или шаблон, например s*. Разрешено использовать подстановочные знаки.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Include

Указывает в качестве массива строк службу или службы, которые этот командлет включает в операцию. Значение этого параметра квалифифициирует параметр Name . Введите элемент имени или шаблон, например s*. Разрешено использовать подстановочные знаки.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

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

Type:ServiceController[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Задает имена получаемых служб. Разрешено использовать подстановочные знаки.

Type:String[]
Aliases:ServiceName
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-RequiredServices

Указывает, что этот командлет получает только службы, необходимые этой службе. Этот параметр получает значение свойства ServicesDependedOn службы.

Type:SwitchParameter
Aliases:SDO, ServicesDependedOn
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:True

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

ServiceController

Вы можете передать объект службы в этот командлет.

String

В этот командлет можно передать имя службы.

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

ServiceController

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

Примечания

PowerShell включает следующие псевдонимы для Get-Service:

  • Windows:
    • gsv

Этот командлет доступен только на платформах Windows.

Начиная с PowerShell 6.0 к объектам ServiceController добавляются следующие свойства: UserName, Description, DelayedAutoStart, BinaryPathName и StartupType .

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

Чтобы найти имя службы и отображаемое имя каждой службы в системе, введите Get-Service. Имена служб отображаются в столбце Имя , а отображаемые имена — в столбце DisplayName .

Примечание

Как правило, возвращает сведения о службах, Get-Service а не о драйвере. Однако если указать имя драйвера, Get-Service возвращается информация о драйвере.

  • Перечисление не включает службы драйверов устройств
  • Если указан подстановочный знак, командлет возвращает только службы Windows.
  • Если указать имя или отображаемое имя , которое точно соответствует имени службы устройства, возвращается экземпляр устройства.

При сортировке в порядке возрастания по значению Stopped состояния службы отображаются перед службами Running . Свойство Status службы — это перечисляемое значение, в котором имена состояний представляют целочисленные значения. Порядок сортировки основан на целочисленном значении, а не на имени. Running отображается раньше Stopped , так как Stopped имеет значение 1, а Running имеет значение 4. Дополнительные сведения см. в разделе ServiceControllerStatus.