Как составить список всех служб Windows с помощью PowerShell или командной строки


Запущенные приложения, которые вы видите на экране, — это лишь малая часть того, что происходит в Windows. От управления драйверами устройств до обеспечения безопасности — множество фоновых процессов поддерживают работоспособность ПК с Windows.

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

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

Вывод списка служб Windows в командной строке

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

  1. Чтобы использовать команду queryex, запустите командную строку от имени администратора. Вы можете найти приложение, выполнив поиск по cmd в меню «Пуск».
    1. Существует множество способов использования команды sc queryex. Тип и состояние — два наиболее часто используемых параметра. Например, введите следующую команду, чтобы просмотреть все процессы Windows:
    2. sc queryex type=service state=all

      1. Вид по умолчанию может показаться немного сложным. Вы можете отображать только имена процессов, чтобы список было легче анализировать:
      2. sc queryex type=service state=all | найдите /i «SERVICE_NAME:»

        1. По умолчанию команда выводит список всех активных процессов. Чтобы найти неактивные, измените параметр состояния:
        2. sc queryex type=service state=inactive

          1. Вы также можете запросить статус конкретного процесса по его имени. Это невероятно полезно для системных администраторов, поскольку они могут настроить пакетные файлы для одновременной проверки множества процессов. Вот пример:
          2. sc запрос DeviceInstall

            Перечисление служб Windows в PowerShell

            .

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

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

            1. Начните с открытия PowerShell. Вы можете найти его в меню «Пуск»; просто обязательно запустите экземпляр с повышенными правами (т. е. от имени администратора).
              1. Самая простая команда для вывода списка служб Windows в PowerShell — это Get-Service . Он показывает все службы на вашем компьютере, а также их статус и названия. Единственная проблема заключается в том, что список услуг может быть довольно длинным.
                1. При использовании Get-Service лучше экспортировать список в текстовый файл. Вы можете сделать это с помощью каналов, например:
                2. Get-Service | Исходящий файл «C:\logs\All_Services.txt»

                  1. Чтобы узнать статус определенной службы, введите команду Get-Service , указав имя службы. Вы можете запросить статус нескольких процессов, разделив их имена запятыми.
                  2. Get-Service CryptSvc, COMSysApp

                    1. Каналы также можно использовать для объединения командлета Get-Service с функцией Where-Object и фильтрации результатов по статусу. Следующая команда иллюстрирует это, получая все запущенные службы:
                    2. Get-Service | Где-Объект {$_.Status-EQ «Работает»

                      Проверка зависимостей служб

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

                      1. Чтобы просмотреть службы, необходимые для конкретной службы, используйте флаг -RequiredServices с командлетом Get-Service . Вот пример:
                      2. .

                        Get-Service -Name CryptSvc –RequiredServices

                        1. Аналогично, чтобы получить список служб, зависящих от конкретной службы, воспользуйтесь флагом -DependentServices .
                        2. Get-Service -Name CryptSvc -DependentServices

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

                          Вывод списка служб Windows на удаленных компьютерах

                          Метод PowerShell не ограничивается локальными компьютерами. Вы также можете использовать командлет Get-Service с тем же синтаксисом, который описан выше, для запроса процессов на удаленных компьютерах. Просто добавьте в конце флаг -ComputerName , чтобы указать, с какого удаленного компьютера следует получать информацию.

                          Вот пример:

                          get-service CryptSvc -ComputerName Workstation7

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

                          Получение статуса служб — не единственное, что вы можете сделать в Windows PowerShell. Являясь полноценной средой сценариев, он предоставляет сценарии, альтернативные всем параметрам графического интерфейса.

                          Командлеты Powershell могут останавливать, запускать, перезапускать и даже изменять службы. В сочетании с автоматизированными командами Get-Service можно писать сценарии PowerShell для полной автоматизации повседневных задач управления системой.

                          1. Помимо запроса состояния служб вы также можете использовать PowerShell для управления ими. Запуск или остановка служб можно выполнить с помощью одной команды, требующей только имени службы. Например, вот как можно остановить службу:
                          2. Stop-Service -Name Spooler

                            1. Запуск службы происходит аналогично:
                            2. Start-Service -Name Spooler

                              1. Если служба работает неправильно, вы также можете перезапустить ее:
                              2. Restart-Service -Name Spooler

                                1. Существует также командлет Set-Service, который можно использовать для изменения свойств службы. Здесь мы отключаем автоматический запуск службы диспетчера очереди печати:
                                2. .

                                  Set-Service «Spooler» -StartupType Disabled

                                  Как лучше всего составить список служб Windows?

                                  Независимо от того, используете ли вы Windows 10 или Windows Server, возможность просмотра списка всех служб Windows может быть удобной. Вы можете диагностировать проблемы с критически важными функциями системы или остановить ненужные службы Microsoft для повышения производительности.

                                  Для этой цели лучше всего подойдет PowerShell. Хотя список служб можно получить и в командной строке, дополнительные функции, предоставляемые PowerShell, более полезны.

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

                                  .

                                  Похожие сообщения:


                                  26.06.2022