We have received a few calls from our customers where the SNMP Service fails to start with the following error:
The following event, Event ID 7036 from Service Control Manager, is also logged under the “System Log” in “Event Viewer”:
The other symptom will occur if you try to reinstall the SNMP Service via Control Panel, Add / Remove Programs, Add / Remove Windows Components. In this case, Windows will report the following error:
"One or more services for the Simple Network Management Protocol component took more than their allotted time to start. The installation will continue but services will not be available until they have started completely"
If you click “Continue” the installation will successfully complete, but you will end up with the same service restart error as discussed above, where the service starts and then stops.
The reason for this behavior is that UDP port 161, which is normally used by the SNMP Service is being used by some other application or service. To identify the process and work around the problem, follow the steps below.
Step 1: Find the Process ID of the process that is listening on UDP port 161
Open a Command Prompt and the run “Netstat –ano”
The output will show the Process ID of the process that is bound to port 161 (shown below as 0.0.0.0:161). This is the process ID of the process that is preventing the SNMP Service from starting:
Step 2: Use Task Manager to identify the executable of the interfering process
Open “Windows Task Manager”, open the “View” menu, click “Select Columns”, and check the box for “PID (Process Identifier)” from the list as shown below, and then click OK.
Now you will see the PID listed for each process as shown below:
Sort the processes by PID by clicking the “PID” column heading and search for the PID based on the output of “netstat -ano” that was run earlier.
You will see the image name of a 3rd party executable file associated with the PID you are looking for. That executable is listening on UDP port 161, which is normally used by the SNMP Service (SNMP.EXE). The process is preventing SNMP from starting and running because the SNMP service needs to listen on that port and it cannot.
Step 3: Use Tasklist to identify the interfering service and then stop the service
To workaround the problem and allow the SNMP Service to start and run, you will need to find the service which uses the 3rd party executable identified above.
Run “Tasklist /svc” in the Command Prompt. You will see the executable, the associated service name and the PID. Below is sample output from “tasklist /svc”:
After you find out the service name, open “Services.msc” and stop that service. Restart or reinstall the SNMP Service, which will succeed this time, as UDP port 161 will be available for the SNMP Service to use.
If the 3rd party software that was preventing the SNMP Service from starting is required on the server, consider contacting the vendor of the software for a solution that will allow both their software and the Microsoft SNMP Service to run concurrently.
– Prathab (Prathabacimman Mohan)