Получает службы на локальном или удаленном компьютере.
Синтаксис
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 можно использовать оператор конвейера (|).
См. также