На одному з сєверов корпоративної мережі виявилися проблеми з запуском служби SNMP. При спробі запуску SNMP з’являлася наступна помилка:

“Служба SNMP на локальному комп’ютері запустилася, а потім зупинилася”

І в журналі системи з’являлося подія з Event ID 7036.

Крім того, при спробі перевстановити або встановити службу SNMP за допомогою майстра RemoveWindowsComponents, з’являлася наступне попередження:

«Одна або кілька служб для компонента Протоколу простого управління мережею зайняли більше часу, ніж їм було відведено. Встановлення триватиме, але послуги будуть недоступні, поки вони не розпочнуться повністю »

У тому випадку, якщо натиснути кнопку Продовжуйте, установка продовжиться і закінчиться, проте при спробі запуску сервісу SNMP, проблема не усувається.

Як виявилося, причина такої поведінки служби SNMP, полягає в тому, що якесь додаток або служба вже використовує порт, який зазвичай використовує служба SNMP. Стандартний порт служби SNMP – UDP 161. Для визначення того, яка ж служба використовує цей порт, я виконав наступні дії:

1) Шукаємо ID процесу, слухача на 161 порту UDP

Відкриємо командний рядок і наберемо: “Netstat -рік(Я вже описував як за допомогою netstat визначити порт, який використовується додатком)

В результаті виконання команди шукаємо ідентифікатор (ID) процесу, слухача 161 UDP порт (рядок UDP 0.0.0.0:161). Саме цей процес заважає нормальному запуску служби SNMP.

2) З допомогою диспетчера задач визначаємо виконуваний файл цікавить нас процесу

Відкрийте “Windows Task Manager”, в меню “View” виберіть пункт “Select Columns” (вибрати стовпчики), і відзначте галочкою “ПІД (Ідентифікатор процесу) ”.

Тепер в диспетчері завдань навпроти кожного процесу вказано його PID.

Залишилося просто впорядкувати процеси по PID, клацнувши по заголовку колонки “PID”, і знайти процес, PID якого ми визначили за допомогою команди netstat – рік“.

В результаті ми повинні отримати ім’я виконуваного exe-файлу, що використовує 161 порт UDP, який зазвичай використовується процесів SNMP.EXE. Саме цей процес заважає запуску служби SNMP.

3) За допомогою Tasklist знайдемо службу і зупинимо її

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

У командному рядку наберіть: Список завдань / svc. В результаті ви побачите список всіх служб і асоційованих з ними виконуваних файлів. Команда “tasklist / svc” виводить приблизно наступне:

Після того, як ви визначили ім’я служби, то за допомогою оснастки Послуги.msc“, ви можете зупинити її. А потім можна вручну запустити службу SNMP Service.

Природно, не забудьте розібратися, що за службу ви зупинили, звідки вона взялася і для чого потрібна!

Наведена методика може використовуватися для визначення портів, використовуваних тією або іншою службою Windows, або додатком.

Leave a Reply

Your email address will not be published. Required fields are marked *