Получить данные от службы windows

Как открыть службы Windows

Способ 1

Кликните правой кнопкой мыши по Пуск и выберите Выполнить:

В открывшемся окне введите команду services.msc и нажмите OK.

Откроется оснастка «Службы».

Способ 2

Откройте панель управления: в Windows 10 или 8 правой кнопкой мыши по ПускПанель управления. В Windows 7: левой кнопкой по ПускПанель управления.

В открывшемся окне в правой верхней части найдите строку поиска и введите Службы.

Среди результатов в разделе Администрирование кликните по Просмотр локальных служб.

Способ 3

Воспользуйтесь поиском Windows.

В 10-ке кликните по значку поиска на нижней панели и введите Службы.

Среди результатов в самом верху появится нужный пункт.

В Windows 7 процесс аналогичен, за исключением того, что строка поиска находится в нижней части меню Пуск.

Как управлять службами в Powershell командлетами Service

30 сентября 2019

Для управления службами в Powershell есть восемь команд с помощью которых мы можем контролировать весь процесс работы сервисов и создавать новые. Что бы увидеть весь список команд созданных в PS для работы с сервисами нужно выполнить:

Мы увидим следующие командлеты:

  • Get-Service — получение списка служб в Powershell.
  • New-Service — создание нового сервиса.
  • Restart-Service — перезапуск службы.
  • Resume-Service — восстанавливает работу остановленного сервиса.
  • Set-Service — изменение настроек.
  • Start-Service — запуск службы в Powershell.
  • Stop-Service — остановка.
  • Suspend-Service — приостановка работы (пауза).

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

Навигация по посту

Получение списка служб

Узнать статус всех служб можно так:

Каждый результат выдаваемый командами в PS представляет собою объект. Этот объект содержит разные свойства и методы. Свойства — это например имя или статус. По умолчанию мы видим не все свойства. Что бы узнать какие еще свойства есть у команды нужно выполнить следующее:

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

Возможно вывести только имена, статус и тип запуска:

Или выведем информацию по одному сервису:

У сервисов есть короткое имя и отображаемое. Так мы выведем оба:

В именах мы можем использовать маски, а это значит что мы можем не знать полное название и использовать знак * в том месте, где не уверены в названии или написании:

Не желательно указывать отображаемое имя так как язык операционных систем может быть разным и если вы выполняете командлеты удаленно, вероятно будут ошибки:

  • Cannot find any service with service name
  • Cannot find any service with display name
  • Не удается найти службу с отображаемым именем

Кроме этого есть два ключа, которые тоже поддерживают маски:

  • Include — включают поиск по какой-то маске или точному соответствию.
  • Exclude — исключает упоминание.

Можно сравнить разницу с прошлым примером:

У сервисов несколько статусов:

  • Running — запущен.
  • Stopped — остановлен.
  • Paused — приостановлен (пауза).

По каждому из них мы можем отфильтровать результат:

Кроме этого есть 3 типа запуска:

  • Automatic — автоматический запуск вместе с системой.
  • AutomaticDelayedStart — запуск после загрузки системы.
  • Manual — ручной запуск.
  • Disabled — отключенный.

Допустим, что у нас есть какая-то проблема в операционной системе и мы хотим проверить все сервисы, который автоматически запускаются при включении ОС. Для этого нам нужно использовать несколько условий, где статус не равен Running и тип запуска равен Automatic:

Читайте также:  Windows 10 как сделать изображение во весь экран

Службы могут быть зависимы от других и для проверки этих свойств есть два параметра:

  • DependentServices — кто зависит от этого сервиса.
  • RequiredServices — от кого зависит этот сервис.

Аналогично параметрам команды выше есть свойства DependentServices и ServicesDependedOn (RequiredServices). Они выводят одно и то же.

Есть несколько свойств, которые не выведены в параметры — это:

  • CanPauseAndContinue — можно ли приостановить работу сервиса и возобновить.
  • CanShutdown — может ли быть выключен.
  • CanStop — может ли быть полностью остановлен.

Эти свойства так же можно увидеть в GUI. В командлете ниже я использую алиас gsv (короткое имя Get-Service):

Каждая команда PS, где присутствует параметр ComuterName, может быть выполнена удаленно. Для удаленного управления в Powershell нужны дополнительные настройки, которые уже описывались в предыдущей статье.

Имена всех компьютеров, с которых мы хотим получить имена сервисов, можно указать через запятую:

Как отослать сообщение через Powershell

Остановка, перезапуск и запуск служб

Чтобы в Powershell запустить службу и остановить достаточно указать только имя. Причем можно указывать как короткое и отображаемое имя:

Можно выполнить получение, остановку и запуск в одну команду:

Во большинстве командлетах PS, которые делают изменения, можно увидеть два параметра. Первый — это WhatIf, который покажет результат выполнения командлета, но не попытается ее выполнить. Такие параметры удобно использовать при выполнении сложных задач типа кластеров. Второй параметр Confirm, который потребует подтверждение перед выполнением. Вместе эти параметры не работают:

В запуске и остановке так же можно использовать параметры фильтрации, которые вы видели при получении статусов выше. Будьте осторожны перед выполнением так как вы можете остановить все службы:

Если с сервисом работает другой сервис, то мы не завершим его работу и нужно указать дополнительный ключ Force:

Если он не стоит появится ошибка:

  • Cannot stop service ‘Remote Procedure Call (RPC) (RpcSs)’ because it has dependent services. It can only be stopped if the Force flag is set.
  • Не удается получить доступ к зависимым службам «Удаленный вызов процедур (RPC) (RpcSs)».

Как уже было описано выше сервисы могут быть зависимы от других и в таком случае запуск может не получится. На примере ниже я получил все родительские сервисы (от которых зависит Spooler) и запустил их, а затем запустил требуемый:

Перезапуск сервисов работает так же со всеми параметрами:

Удаленный запуск и остановка командлетами не предусмотрена, но это исправляется стандартными методами:

Восстановление и приостановка работ служб

Не каждую службу можно приостановить (Pause) и восстанавливть. Что бы увидеть все службы, у которых есть такая возможность, выполните:

Командой ниже мы получи, нажмем паузу и восстановим работу сервиса Winmgmt:

Ошибки, если мы попытаемся остановить службу у которых нет такой возможности:

  • Service ‘Windows Remote Management (WS-Management)’ cannot be suspended because the service does not support beingsuspended or resumed.
  • Не удается приостановить службу «Spooler», так как этой службой не поддерживается приостановка или возобновление.

В этих командах так же можно использовать параметры Include и Exclude, с масками.

На скрипте ниже показана проверка возможности приостановки сервиса, если у него есть такая возможность. Если ее нет, то сервис остановит свою работу:

Изменение с Set-Service

Командлетом ниже я изменил тип запуска сервиса с отключенного на автоматический:

В случае изменения сервисов нельзя использовать маски *.

В документации Microsoft говориться про возможность изменения на четыре режима со следующими названиями:

  1. Automatic
  2. AutomaticDelayedStart
  3. Disabled
  4. Manual

Во первых половина называется иначе и изменение не срабатывает. Возможно изменение не срабатывает из-за багов Windows Server 2019,может из-за зависимостей (в GUI все работает), но скорее всего дело в PS. При работе с WMI все срабатывает. Реальные варианты запуска такие:

Через эту команду можно так же выполнить запуск и остановку:

Читайте также:  Astra linux смонтировать диск

Все возможные значения:

Можно изменить описание сервиса:

Команды изменения можно выполнять удаленно:

Создание сервисов с New-Service

Для создания сервиса необходимо указать два параметра — это имя и путь до бинарного файла:

В PS 5.1 не предусмотрена команда удаления, она появилась в версии 6.1, которая устанавливается отдельно и может работать иначе. Для удаления сервисов, а так же частичного изменения, используется WMI. Указывайте все возможные параметры, что бы в последующем не лезть в WMI.

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

  • DisplayName — полное отображаемое имя.
  • Credential — учетная запись, под которой будет происходить запуск.
  • DependsOn — от кого будет зависеть.

При объявлении переменной $credential у нас запросятся учетные данные (логин/пароль). По умолчанию сервис работает под текущим аккаунтом. Я создавал сервис на доменном компьютере и пока я не ввел FQDN вид user@domain.local я получал ошибку:

  • Service ‘Testing Services In Powershell (TestService1)’ cannot be created due to the following error: The account name is invalid or does not exist, or the password is invalid for the account name specified

Кроме этого есть параметры, которые возможно изменить через команды выше:

  • Description — описание.
  • StartupType — тип запуска.

Получение с помощью WMI класса

За работу со службами в WMI отвечает класс win32_service. Преимущества такого подхода в том, что тут можно посмотреть и изменить все детали работы сервисов. Более подробно WMI в Powershell мы уже рассматривали.

Что бы получить список аналогичный Get-Service выполните:

В классе WMI можно увидеть больше свойств, которые можно использовать:

Одно из преимуществ использования в WMI это то, что мы можем увидеть идентификатор процесса под которым работает сервис. Если сервис остановлен, то его идентификатор 0. Так мы увидим идентификатор процесса с именем WinRM и получим всю информацию по процессу:

О том как работать с процессами в Powershell мы писали в прошлой статье.

С помощью WMI мы можем вернуть имя аккаунта, под которым запущена служба и ее описание. Используя параметр ComputerName это можно сделать удаленно на множестве компьютеров:

Изменение с помощью WMI класса

Для управления в WMI существую методы. Все методы класса можно получить так:

Удалим сервис, который создавался через New-Service:

Для изменения паролей нужно использовать следующую конструкцию. После выполнения команды сервис нужно перезапустить:

$null установлены у всех параметров, которые мы не хотим изменять. В нашем случае нужно изменить только логин и пароль и они указаны в переменных. Увидеть какие параметры не меняются с $null можно так:

Как открыть «Службы» в Windows 7

«Службы» — стандартное приложение Windows, которое есть в том числе и в «семерке». Оно необходимо для управления различными службами, запущенными или остановленными в системе, позволяя переключать их состояние, задавать параметры запуска, настраивать их восстановление после сбоев и работать с другими сопутствующими параметрами. О методах открытия этой оснастки мы расскажем в статье далее.

Запуск оснастки «Службы» в Windows 7

Для запуска этого компонента в Виндовс предусмотрено сразу несколько способов, и мы расскажем наиболее популярные из них. Кроме того, в статье будут упомянуты варианты решения различных проблем, связанных с попытками запуска «Служб».

Способ 1: Окно «Выполнить»

Через окно «Выполнить» можно открывать разнообразные директории и системные приложения, вводя в специальное поле адреса или кодовые названия программ. Это один из самых быстрых и удобных вариантов запуска «Служб» при условии, что пользователь запомнит, как эта оснастка именуется в Windows.

  1. Нажмите сочетание клавиш Win + R.
  2. В открывшееся окошко впишите команду services.msc и нажмите Enter либо «ОК».

Приложение «Службы» будет запущено.

Способ 2: «Диспетчер задач»

Через «Диспетчер задач» можно не только смотреть запущенные процессы, но и выполнять некоторые другие действия, среди которых есть нужное нам.

  1. Откройте любым удобным образом «Диспетчер задач». Для этого можно нажать комбинацию клавиш Ctrl + Shift + Esc или, например, кликнуть правой кнопкой мыши по панели задач, выбрав необходимый пункт из контекстного меню.
  2. Переключитесь на вкладку «Службы», а затем нажмите на кнопку с этим же названием.

Способ 3: Меню «Пуск»

Через поисковое поле «Пуска» также не составит труда отыскать «Службы», просто начав набирать их название и кликнув ЛКМ по совпадению.

Способ 4: Командная строка

Этот вариант подразумевает запуск «Служб» во время активной консоли. В остальных ситуациях открывать сперва ее, а затем сами «Службы» не имеет смысла — вы просто выполняете лишние действия. Тем не менее кому-то именно такой метод запуска будет казаться удобнее остальных (например, когда ярлык «Командной строки» вынесен на рабочий стол или она в принципе активно используется юзером). Для запуска в развернутой «Командной строке» напишите команду services.msc и нажмите Enter.

Способ 5: Панель управления

Данный вариант, как и предыдущий, актуален далеко не для всех, а только при работе с «Панелью управления», иначе вы просто будете совершать больше манипуляций и кликов мышью, чем в перечисленных выше способах.

    В открытой «Панели управления» найдите значок «Администрирование» и нажмите по нему. Если тип просмотра установлен не «Значки», а «Категория», сперва перейдите в «Система и безопасность» и уже там в самом низу нажмите по выделенному большими буквами слову «Администрировании».

Из списка всех элементов найдите «Службы» и запустите это приложение.

Способ 6: Системная папка Windows

Осуществить запуск можно и найдя программу в одной из системных папок на компьютере. По умолчанию «Службы», как и многие другие стандартные утилиты Windows, располагаются здесь: C:\Windows\System32. Отыщите приложение «services» и откройте его. В списке может быть два файла с одинаковым названием, запускать нужно тот, что имеет логотип в виде шестеренок.

Устранение проблем с запуском «Служб»

В редких ситуациях пользователю не удается запустить оснастку, и почти всегда это связано с повреждением системных файлов или вирусной активностью.

    Первое, что нужно предпринять в такой ситуации — попытаться выполнить восстановление системы, если эта функция включена в Windows 7. Используйте последнюю доступную точку восстановления. Новичкам, не выполнявшим ранее такую процедуру, советуем ознакомиться с нашей статьей по этой теме. Для этого перейдите по ссылке ниже и прочитайте информацию в Способе 1.

Подробнее: Восстановление системы в Windows 7
Следующим действенным вариантом станет использование консольной команды SFC, занимающейся поиском и восстановлением поврежденных системных файлов. Более подробно мы рассматривали эту процедуру в отдельном материале. Используйте ссылку ниже и Способ 1. Некоторым юзерам может подойти и Способ 2.

Подробнее: Восстановление системных файлов в Windows 7
Порой системе не удается выполнить восстановление, из-за чего пользователю понадобится воспользоваться дополнительной командой для Командной строки, которая исправляет проблемы в хранилище резервных образов системных файлов. Развернуто об этом написано далее.

Подробнее: Восстановление поврежденных компонентов в Windows 7 при помощи DISM

  • После запуска утилиты DISM и успешного восстановления снова вернитесь к шагу 2 этой инструкции и попробуйте запустить команду SFC, поскольку DISM лишь только восстанавливает область, из которой SFC берет данные для исправления ошибок.
  • В случае отсутствия положительной динамики проверьте свою операционную систему на наличие вирусов. Иногда как раз они блокируют запуск «Служб» и даже работу консольных команд SFC и DISM. О рабочих способах сканирования и удаления вирусов из Windows 7 нами была написана отдельная статья.

    Подробнее: Борьба с компьютерными вирусами
    Когда ничего не помогает, начинающему пользователю остается лишь прибегнуть к переустановке операционной системы. Эта процедура не так сложна, как может показаться на первый взгляд. Для всех, кто еще не сталкивался с ней, рекомендуем к ознакомлению отдельные руководства.

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

    Читайте также:  Что дает windows 64 бит
  • Оцените статью