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


Get-Service

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

Синтаксис

Default (по умолчанию)

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

DisplayName

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

InputObject

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.

Состояние — это только одно свойство объектов службы. Чтобы просмотреть все свойства, введите 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. Параметр свойства отображает имя службы, имя зависимых служб и вычисляемое свойство, отображающее количество зависимых служб для каждой службы.

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

В этом примере показано, что при сортировке служб по возрастанию значения свойства 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

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

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:DS

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-DisplayName

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

DisplayName
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Exclude

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Include

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-InputObject

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

Свойства параметра

Тип:

ServiceController[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

InputObject
Position:Named
Обязательно:False
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Name

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False
Aliases:Название сервиса

Наборы параметров

Default
Position:0
Обязательно:False
Значение из конвейера:True
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-RequiredServices

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

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:True
DontShow:False
Aliases:SDO, ServicesDependedOn

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

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

ServiceController

Объект сервиса можно передать в этот командлет в качестве параметра.

String

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

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

ServiceController

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

Примечания

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

  • Виндоус:
    • gsv

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

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

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

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

Замечание

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

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

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