Get windows service powershell

Управление службами Managing Services

Существует восемь основных командлетов Service, предназначенных для широкого спектра задач обслуживания. There are eight core Service cmdlets, designed for a wide range of service tasks . Мы рассмотрим только вывод списка служб и изменение состояния их выполнения, но вы можете получить весь список командлетов Service с помощью Get-Help \*-Service , а сведения о каждом из них можно просмотреть с помощью командлета Get-Help , например Get-Help New-Service . We will look only at listing and changing running state for services, but you can get a list of Service cmdlets by using Get-Help \*-Service , and you can find information about each Service cmdlet by using Get-Help , such as Get-Help New-Service .

Получение служб Getting Services

Получить службы на локальном или удаленном компьютере можно с помощью командлета Get-Service . You can get the services on a local or remote computer by using the Get-Service cmdlet. Как и в случае с Get-Process , использование команды Get-Service без параметров возвращает все службы. As with Get-Process , using the Get-Service command without parameters returns all services. Можно фильтровать по имени, даже используя звездочку как подстановочный знак: You can filter by name, even using an asterisk as a wildcard:

Так как реальное имя службы не всегда очевидно, может потребоваться найти службы по отображаемому имени. Because it is not always obvious what the real name for the service is, you may find you need to find services by display name. Это можно сделать с использованием определенного имени, подстановочных знаков или списка отображаемых имен: You can do this by specific name, using wildcards, or using a list of display names:

Параметр ComputerName командлета Get-Service можно использовать для получения служб на удаленных компьютерах. You can use the ComputerName parameter of the Get-Service cmdlet to get the services on remote computers. Параметр ComputerName принимает несколько значений и подстановочные знаки, что позволяет получить службы на нескольких компьютерах с помощью одной команды. The ComputerName parameter accepts multiple values and wildcard characters, so you can get the services on multiple computers with a single command. Например, приведенная ниже команда получает службы на удаленном компьютере Server01. For example, the following command gets the services on the Server01 remote computer.

Получение необходимых и зависимых служб Getting Required and Dependent Services

Командлет Get-Service имеет два параметра, которые удобно использовать при администрировании служб. The Get-Service cmdlet has two parameters that are very useful in service administration. Параметр DependentServices получает службы, которые зависят от данной службы. The DependentServices parameter gets services that depend on the service. Параметр RequiredServices получает службы, от которых зависит данная служба. The RequiredServices parameter gets services upon which this service depends.

Читайте также:  Буфер обмена windows не копируется

Эти параметры просто отображают значения свойств DependentServices и ServicesDependedOn (псевдоним RequiredServices) объекта System.ServiceProcess.ServiceController, возвращаемого Get-Service, но они упрощают работу с командами и получение этой информации. These parameters just display the values of the DependentServices and ServicesDependedOn (alias=RequiredServices) properties of the System.ServiceProcess.ServiceController object that Get-Service returns, but they simplify commands and make getting this information much simpler.

Приведенная ниже команда получает службы, необходимые службе LanmanWorkstation. The following command gets the services that the LanmanWorkstation service requires.

Приведенная ниже команда получает службы, которым требуется служба LanmanWorkstation. The following command gets the services that require the LanmanWorkstation service.

Вы даже можете получить все службы, имеющие зависимости. You can even get all services that have dependencies. Следующая команда делает именно это, а затем она использует командлет Format-Table для отображения свойств Status, Name, RequiredServices и DependentServices для служб на компьютере. The following command does just that, and then it uses the Format-Table cmdlet to display the Status, Name, RequiredServices and DependentServices properties of the services on the computer.

Остановка, запуск, приостановка и перезапуск служб Stopping, Starting, Suspending, and Restarting Services

Все командлеты Service имеют схожую общую форму. The Service cmdlets all have the same general form. Службы можно указать по общему имени или отображаемому имени, они также принимают списки и подстановочные знаки в качестве значений. Services can be specified by common name or display name, and take lists and wildcards as values. Для остановки очереди печати принтера используйте: To stop the print spooler, use:

Для запуска очереди печати принтера после ее остановки используйте: To start the print spooler after it is stopped, use:

Для приостановки очереди печати принтера используйте: To suspend the print spooler, use:

Командлет Restart-Service работает так же, как другие командлеты Service, но для него будет приведено несколько более сложных примеров. The Restart-Service cmdlet works in the same manner as the other Service cmdlets, but we will show some more complex examples for it. В самом простом случае указывается имя службы: In the simplest use, you specify the name of the service:

Вы получите повторяющееся предупреждение о запуске очереди печати принтера. You will notice that you get a repeated warning message about the Print Spooler starting up. При выполнении операции службы, занимающей некоторое время, Windows PowerShell сообщит, что по-прежнему пытается выполнить задачу. When you perform a service operation that takes some time, Windows PowerShell will notify you that it is still attempting to perform the task.

Если требуется перезапустить несколько служб, можно получить список служб, отфильтровать его и выполнить перезапуск: If you want to restart multiple services, you can get a list of services, filter them, and then perform the restart:

У этих командлетов Service нет параметра ComputerName, но их можно выполнить на удаленном компьютере с помощью командлета Invoke-Command. These Service cmdlets do not have a ComputerName parameter, but you can run them on a remote computer by using the Invoke-Command cmdlet. Например, приведенная ниже команда перезапускает службу очередь печати принтера на удаленном компьютере Server01. For example, the following command restarts the Spooler service on the Server01 remote computer.

Читайте также:  Восстановление замененных файлов windows

Задание свойств служб Setting Service Properties

Командлет Set-Service изменяет свойства службы на локальном или удаленном компьютере. The Set-Service cmdlet changes the properties of a service on a local or remote computer. Так как состояние службы является свойством, этот командлет можно использовать для запуска, остановки и приостановки службы. Because the service status is a property, you can use this cmdlet to start, stop, and suspend a service. Командлет Set-Service также имеет параметр StartupType, позволяющий изменять тип запуска службы. The Set-Service cmdlet also has a StartupType parameter that lets you change the service startup type.

Чтобы использовать командлет Set-Service в Windows Vista и более поздних версиях Windows, откройте среду Windows PowerShell, используя параметр «Запуск от имени администратора». To use Set-Service on Windows Vista and later versions of Windows, open Windows PowerShell with the «Run as administrator» option.

Дополнительные сведения см. в статье о Set-Service. For more information, see Set-Service

Управление службами в Windows PowerShell

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

Служба (service) — это процесс, который запускается на устройстве в фоновом режиме для выполнения определенных действий в ответ на запросы пользователей, приложений, системы.

Состав имеющихся в наличии и запущенных служб зависит от версии операционной системы и установленных в ней приложений.

Основным инструментом для управления службами в графическом режиме на локальном компьютере является консоль Службы , которая находится в программной группе Средства администрирования Windows. Запустить консоль

Службы также можно выполнив команду services.msc в диалоговом окне Выполнить. Также в состав всех версий операционной системы Windows, входит стандартная утилита net.exe командного интерпретатора cmd.exe, в которой для управления службами предусмотрены команды net start и net stop.

Как просмотреть список служб в Windows PowerShell

Запустите консоль Windows PoweShell с административными привилегиями.
Чтобы получить список служб зарегистрированных на локальном компьютере, используйте командлет:

На скриншоте ниже видно, что по умолчанию отображаются имя службы (колонка Name ), её отображаемое имя (колонка DisplayName ) и состояние (колонка Status ).

Для того чтобы отобразить только работающие в данный момент службы, то нужно отфильтровать объекты, у которых значением свойства Status является строка «Running». Для этого выполните команду:

Чтобы просмотреть службы зарегистрированные на удалённом компьютере, можно воспользоваться WMI классом Win32_Service . Если с помощью командлета Select-Object получить свойства State , Name , и DisplayName объекта Win32_Service, то формат выводимых данных будет похож на формат вывода командлета Get-Service. Например:

Get-WmiObject -Class Win32_Service -ComputerName winnoteRU | Select-Object -Property State, Name, DisplayName

Как остановить или приостановить службы в Windows PowerShell

Локальную службу можно остановить с помощью командлета Stop-Service. Параметр -Name задает имя службы для остановки, параметр -Force позволяет остановить указанную службу вместе со всеми службами зависящими от нее.

Читайте также:  Clean all command windows

Например следующая команда остановит службу Spooler (Диспетчер печати) со всеми зависящими от нее службами:

По умолчанию команлет Stop-Service не передает далее по конвейеру объекты, соответствующие останавливаемым службам, и поэтому на экране ничего не отображается. Для остановки служб с выводом информации нужно указать параметр -PassThru, например выполните команду:

Stop-Service -Name Spooler -Force -PassThru

Командлет Suspend-Service позволяет приостановить работу одной или нескольких служб, имена которых задаются в качестве параметра -Name. При приостановке (временной остановке) службы, она продолжает выполняться, однако её действия приостанавливаются до поступления команды на возобновление работы.

Также следует учитывать, что не всякую службу можно приостановить. У объектов System.ServiceProcess.ServiceController, соответствующих службам, имеется логическое свойство CanPauseAndContinue , которое равно $True, если служба может быть приостановлена. Следующая команда приостановит все службы, для которых это возможно:

Для остановки или приостановки служб на удалённом компьютере можно воспользоваться соответственно методами StopService и PauseService WMI-класса Win32_Service.

Как запустить или перезапустить службу в Windows PowerShell

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

Для вывода информации можно использовать параметр -PassThru. Например, следующая команда запускает службу WSearch (служба индексирования контента) и выводит на экран информацию об этой службе:

Start-Service -Name Wsearch -PassThru

Командлет Restart-Service выполняет перезапуск (то есть остановку и последующий запуск) служб, указанных в качестве значения параметра -Name или полученных по конвейеру. Например, следующая команда перезапустит службу NetSetupSvc (Служба настройки сети):

Get-Service -Name NetSetupSvc | Restart-Service

Как изменить параметры службы

В Windows PowerShell имеется командлет Set-Service, позволяющий редактировать некоторые параметры служб, такие как, отображаемое имя (параметр -DisplayName), описание (параметр -Description), и тип запуска (параметр -StartupType).

Возможные значения параметра -StartupType: Automatic (служба запускается автоматически), Manual (служба запускается вручную), или Disabled (служба отключена). Имена изменяемых служб указываются в качестве значения -Name.

Следует отметить, что ни описание службы, ни тип запуска не являются свойствами объектов System.ServiceProcess.ServiceController, возвращаемых командлетом Get-Service. Это значит что командлет Get-Service не позволяет проверить чему равны значения данных параметров для определенной службы.

Решить эту проблему можно с помощью WMI-класса Win32_Service, который имеет свойства Description (описание службы) и StartMode (режим запуска службы). Теперь посмотрим, например, чему равно значение этих свойств для службы WSearch (служба индексирования контента):

Get-WmiObject Win32_Service -Filter «name = \’WSearch\'» | fl StartMode, Description

Выведенная информация показывает что служба индексирования контента запускается автоматически (значение свойства StartMode равно Auto ).

Теперь с помощью командлета Set-Service изменим режим запуска службы индексирования контента с автоматического на ручной, для этого выполните команду:

Set-Service -Name WSearch -StartupType Manual

Проверим проделанные изменения с помощью объекта Win32_Service, для этого выполните следующую команду:

Get-WmiObject Win32_Service -Filter «name = \’WSearch\'» | fl Name, StartMode

Значение свойства StartMode успешно изменено.

Оцените статью