Как сохранить список служб в файл в Windows 10

Службы Windows представляют собой специальные приложения, работающие в фоновом режиме, не имеющие графического интерфейса и не взаимодействующие напрямую с пользовательским сеансом. Тем не менее, службы играют важную роль в работе операционной системы. Для просмотра запущенных и остановленных служб в Windows 10 используется встроенная оснастка с одноименным названием, запустить которую можно с помощью диалогового окошко «Выполнить», введя в него команду services.msc и нажав ввод.

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

Командная строка

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

sc query type= service > "D:\services.log"

Это действие сохранит список работающих служб в текстовый файл в корень диска D. Имя и путь сохранение отчета могут быть произвольными. Если нужно получить список остановленных служб, добавляем в команду ключ inactive:

sc query type= service state= inactive > "D:\services.log"

В примере для сохранения отчета мы использовали формат LOG, но подойдет и более привычный TXT.

Командная строка

Однако и в том и в другом случае во избежание проблем с кодировкой просмотра отчета придется использовать программу Notepad++.

Notepad++

Так как Блокнот даже при изменении кодировки командой chcp 1251 отображает содержимое отчета некорректно.

PowerShell

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

Запустите консоль с повышенными привилегиями и выполните в ней команду следующего вида:

Get-Service | Where-Object {$_.Status -eq "Running"} | Out-File D:\services.log

Эта команда сохраняет в лог работающие службы, если нужно получить список остановленных служб, меняем ключ Running на Stopped (см. скриншот).

PowerShell

Использование PowerShell имеет небольшое преимущество перед использованием командной строки, поскольку не вызывает проблем с кодировкой.

Блокнот

Наконец, вы можете сохранить в файл отчета все службы, и запущенные, и остановленные.

Для вывода в CMD остановленных служб мы использовали ключ inactive, теперь просто меняем его на all.

CMD

В консоли PowerShell для получения полного списка служб убираем часть команды в фигурных скобках.

Команда выглядит так: Get-Service | Out-File D:\services.log.

Get-Service

Вот и все дела.

Оцените Статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

2 комментария

  • Ошибка в Windows 10
    Windows PowerShell
    (C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
    Попробуйте новую кроссплатформенную оболочку PowerShell (https://aka.ms/pscore6)

    PS C:\Users\Bubuka> sc query type= service > "D:\services.log"
    Set-Content : Не удается найти позиционный параметр, принимающий аргумент "service".
    строка:1 знак:1
    + sc query type= service > "D:\services.log"
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (:) [Set-Content], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetContentCommand

    PS C:\Users\Bubuka> sc query type= service state= inactive > "D:\services.log"
    Set-Content : Не удается найти позиционный параметр, принимающий аргумент "service".
    строка:1 знак:1
    + sc query type= service state= inactive > "D:\services.log"
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (:) [Set-Content], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetContentCommand

Добавить комментарий

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