Я хочу знать, сколько сервисов, общее количество, установлено на моем Server 2012. Используя services.msc
мне нужно посчитать вручную один за другим.
Я ищу командную строку или подобное.
Вариант 1 - Экспорт списка Вы можете щелкнуть правой кнопкой мыши имя компьютера в services.msc, выбрать "Экспорт списка" и затем сохранить его в виде файла CSV:
Отсюда вы можете открыть его в Excel и сосчитать строки (-1 для заголовка - в данном случае 162):
Если у вас нет Excel, такой инструмент, как Notepad++, также подсчитает количество строк.
Вариант 2 - PowerShell
(Get-Service | Measure-Object).Count
В буквальном смысле - получить список служб, измерить возвращаемый список и отобразить его свойство "Количество"
Бонусные баллы - оба метода могут быть использованы на удаленных машинах.
В services.msc щелкните правой кнопкой мыши компьютер и выберите «Подключиться к другому компьютеру ...»
В powershell используйте переключатель ComputerName
чтобы получить список служб удаленных компьютеров:
(Get-Service -ComputerName "MyComputer.MyDomain.local" | Measure-Object).Count
Как отметил Моав в комментариях:
Некоторые сервисы скрыты и не будут отображаться в списке сервисов.
Драйверы также запускаются как службы и не отображаются, если вы посмотрите на
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
, вы увидите все службы Windows.
Решение 1 с использованием reg
Вы можете использовать reg
вместе с find
:
F:\test>reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services | find "" /v /c
541
F:\test>
Заметки:
find "" /v /c
используется для подсчета количества строкЗамечания:
Решение 1 с использованием sc
Вы можете использовать sc
вместе с find
:
F:\test>sc query state= all | find /c "SERVICE_NAME"
201
F:\test>
Заметки:
Остерегайтесь лишних пробелов:
SC QUERY state= all
Работы
SC QUERY state =all
ошибки!
find /c
используется для подсчета количества строк
Решение 2 с использованием wmic
Вы можете использовать wmic
вместе с find
:
F:\test>wmic service get name | find "" /v /c
203
F:\test>
Замечания:
wmic
выводит заголовок ("Имя") и завершающую пустую строкуfind "" /v /c
используется для подсчета количества строкКак отметил Моав в комментариях:
Некоторые сервисы скрыты и не будут отображаться в списке сервисов.
Драйверы также запускаются как службы и не отображаются, если вы посмотрите на
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
, вы увидите все службы Windows.
Решение 1 с использованием driverquery
Вы можете использовать driverquery
вместе с find
:
F:\test>driverquery | find "" /v /c
287
F:\test>
Замечания:
driverquery
выводит 2 строки заголовкаfind "" /v /c
используется для подсчета количества строкВы можете использовать опцию « Export List
в services.msc
и выбрать ее экспорт в виде файла CSV. Открытие экспортированного файла в Excel (или любом другом считывателе с поддержкой csv) должно подсчитать количество установленных служб.