Как узнать имя службы Windows по отображаемому имени через SC Query: пошаговое руководство

Как узнать имя службы Windows (service_name) через SC Query, если известна только отображаемая имя (display_name)

В работе с операционной системой Windows иногда возникает задача определить точное имя службы (service_name), если у вас есть только отображаемое имя службы (display_name). Это важно, например, при написании скриптов, автоматизации задач или мониторинге служб, поскольку многие команды и утилиты Windows требуют именно системное имя службы, а не отображаемое.

В данной статье рассмотрим, как с помощью команды sc query можно получить системное имя службы, исходя из её отображаемого имени.

Что такое имя службы и отображаемое имя

В Windows у каждой службы два важных идентификатора:

  • Имя службы (service_name) — уникальный идентификатор, который используется системой для управления службой. Например, wuauserv.
  • Отображаемое имя (display_name) — человекочитаемое название службы, которое видит пользователь, например, «Центр обновления Windows».

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

Зачем нужен SC Query

sc — это встроенная в Windows утилита для управления службами. Команда sc query позволяет получить подробную информацию о конкретной службе по её имени. Однако, если у нас есть только отображаемое имя, то прямого способа в sc нет. Нужно искать службу по списку и сопоставлять отображаемое имя, чтобы узнать системное.

Способ получить имя службы через отображаемое имя

  1. Откройте командную строку Windows (cmd) с правами администратора.
  2. Выполните команду для получения списка всех служб:

cmd
sc query state= all

  1. Чтобы фильтровать службы по отображаемому имени, можно использовать PowerShell или сторонние скрипты. Но в чистом командном окне можно просмотреть службы следующим образом:

cmd
sc getdisplayname

Однако для выявления service_name, имея display_name, потребуется перебор.

Использование PowerShell для поиска имени службы по отображаемому имени

Гораздо проще и эффективнее воспользоваться PowerShell, где команда выглядит так:

powershell
Get-Service | Where-Object { $_.DisplayName -like "Имя_службы" }

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

powershell
Get-Service | Where-Object { $_.DisplayName -eq "Центр обновления Windows" } | Select-Object Name, DisplayName

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

Итог

  • sc query позволяет получить детальную информацию о службах по имени, но для поиска имени по отображаемому имени нужно перебрать список.
  • Лучшим вариантом является использование PowerShell, где можно фильтровать службы по отображаемому имени и легко получить системное имя.
  • После получения service_name можно использовать команды sc для управления службой: запускать, останавливать или изменять параметры.

Таким образом, зная отображаемое имя службы, вы всегда сможете получить её системное имя для выполнения различных административных задач в Windows.


Если вам нужна помощь в автоматизации или написании скриптов для работы с Windows службами — обращайтесь, и мы поможем подобрать оптимальный вариант под ваши задачи.

Источник

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *