Get-Service
Возвращает службы на локальном или удаленном компьютере.
Синтаксис
Default (По умолчанию)
Get-Service
[[-Name] <String[]>]
[-ComputerName <String[]>]
[-DependentServices]
[-RequiredServices]
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
DisplayName
Get-Service
-DisplayName <String[]>
[-ComputerName <String[]>]
[-DependentServices]
[-RequiredServices]
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
InputObject
Get-Service
[-ComputerName <String[]>]
[-DependentServices]
[-RequiredServices]
[-Include <String[]>]
[-Exclude <String[]>]
[-InputObject <ServiceController[]>]
[<CommonParameters>]
Описание
Командлет 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 -ComputerName "Server02"
Эта команда получает службы на удаленном компьютере Server02.
Так как параметр ComputerNameGet-Service не использует удаленное взаимодействие Windows PowerShell, этот параметр можно использовать, даже если компьютер не настроен для удаленного взаимодействия в Windows PowerShell.
Пример 7. Вывод списка служб на локальном компьютере с зависимыми службами
В этом примере находятся службы, от которых зависят другие службы.
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. Параметр свойства отображает имя службы, имя зависимых служб и вычисляемое свойство, отображающее количество зависимых служб для каждой службы.
Пример 8. Сортировка служб по значению свойства
В этом примере показано, что при сортировке служб по возрастанию значения свойства 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
Пример 9. Получение служб на нескольких компьютерах
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).
Команда выполняется на удаленных компьютерах, а результаты возвращаются на локальный компьютер. Оператор конвейера (|) отправляет результаты командлету Format-Table, который форматирует службы в виде таблицы. Команда Format-Table использует параметр свойства для указания свойств, отображаемых в таблице, включая свойство MachineName.
Пример 10. Получение зависимых служб службы
В этом примере получаются службы, необходимые службе WinRM. Возвращается значение свойства службы ServicesDependedOn.
Get-Service "WinRM" -RequiredServices
Пример 11. Получение службы с помощью оператора конвейера
Этот пример получает службу WinRM на локальном компьютере. Строка с именем службы, заключенная в кавычки, отправляется по конвейеру к Get-Service.
"WinRM" | Get-Service
Параметры
-ComputerName
Возвращает службы, работающие на указанных компьютерах. По умолчанию используется локальный компьютер.
Введите имя NetBIOS, IP-адрес или полное доменное имя (FQDN) удаленного компьютера.
Чтобы указать локальный компьютер, введите имя компьютера, точку (.) или localhost.
Этот параметр не зависит от удаленного взаимодействия Windows PowerShell. Можно использовать параметр ComputerNameGet-Service, даже если ваш компьютер не настроен для выполнения удаленных команд.
Свойства параметров
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | CN |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-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, представляющие полученные службы. Введите переменную, содержащую объекты, или введите команду или выражение, которое получает объекты. Объект сервиса можно передать в этот командлет в качестве параметра.
Свойства параметров
| Тип: | |
| 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
Этот командлет возвращает объекты, представляющие службы на компьютере.
Примечания
Windows PowerShell включает следующие псевдонимы для Get-Service:
gsv
Этот командлет может отображать службы только в том случае, если у текущего пользователя есть разрешение на их просмотр. Если этот командлет не отображает службы, возможно, у вас нет разрешения на их просмотр.
Чтобы найти имя службы и отображаемое имя каждой службы в системе, введите Get-Service. Названия служб появляются в столбце Name, а отображаемые имена появляются в столбце DisplayName.
Замечание
Как правило, Get-Service возвращает сведения о службах, а не о драйвере. Однако если указать имя драйвера, Get-Service возвращает сведения о драйвере.
- Перечисление не включает службы драйверов устройств
- При указании подстановочного знака командлет возвращает только службы Windows
- Если указать Name или DisplayName, которые в точности совпадают с именем службы устройства, возвращается экземпляр устройства.
При сортировке по значению состояния Stopped службы отображаются перед Running службами. Свойство Status службы — это перечисленное значение, в котором имена состояний представляют целые значения. Сортировка основана на целочисленном значении, а не на имени.
Running отображается перед Stopped, так как Stopped имеет значение 1, а Running имеет значение 4. Дополнительные сведения см. в ServiceControllerStatus.