Is the "SNMP Service" unavailable in Windows 10?

Adding the SMTP service to a Windows OS seems quite straightforward in almost all cases: open the Windows Features interface, then check the "Simple Network Management Protocol" option. After rebooting, a new local service should be available called "SNMP Service".

I've followed those steps in Windows 10 Pro 64-bit, but I find that there is no "SNMP Service" to be found. There is an "SNMP Trap" service, but that's apparently not what I'm looking for. It seems the SNMP agent settings (eg. community name) can only be modified within the properties of "SNMP Service".

In my searching, I found a Powershell command purported to install the SNMP service:

Install-WindowsFeature RSAT-SNMP

However, the result is an error message (even when run as Administrator):

Install-WindowsFeature : The target of the specified cmdlet cannot be a Windows client-based operating system.

The words "client-based operating system" suggests the SNMP service is only available for Windows Server OSes, but that wasn't true for Windows 7/8. So I'm curious whether this has changed with Windows 10.

4 Answers

You're actually addressing 2 problems in your question:

  1. You can't use Windows Server native PowerShell commands, they simply unavailable for any other than Windows Server architecture. Run gcm -module DISM to get a list of supported commands for your machine.
  2. SNMP service does exist in Windows 10: SNMP in Windows 10

Windows 10 Build 1809 Does have a bug in it that does not show the SNMP Services, This is the FIX for this issue :

  1. Open Powershell with Administrator credentials
  2. issue the following commands
  3. Get-WindowsCapability -Online -Name "SNMP*" --> Will show Not Present
  4. Add-WindowsCapability -Online -Name "SNMP.Client~~~~0.0.1.0"
  5. Get-WindowsCapability -Online -Name "SNMP*"
  6. Get-WindowsCapability -Online -Name "SNMP*" --> Will show Installed

The feature still does not show in the turn windows features on or off window however the service is installed and you can view and configure from services.msc I have verified that the service works as expected.

enter image description here

If you don't see SNMP Service in the list of available services, but only SNMP Trap, then you need to add the service, which you can do by the following steps:

  1. Right-click on the Windows Start button and choose Control Panel.
  2. Select Programs from within the Control Panel, then, under Programs and Features, select Turn Windows features on or off.
  3. Find Simple Network Management Protocol (SNMP) in the list of features and check the check box next to it then click on OK.

Once you've installed support for the service, the process for configuring the service is the same process as for configuring SNMP on Windows 7 systems.

1

@Jay Pickett has provided an answer that contains the substance of a workaround that got me on the right track. I've actually seen the same recipe at MS Technet - see the response by user "Amnon H". Having an account at StackExchange, I prefer to add my two cents worth here, rather than at the MS server.

Below is my complete PowerShell script:

# If powershell prevents you from running this file,
# saying that execution is disabled on this system,
#
# Option 1:
# start a cmd window with administrator privileges,
# type PowerShell followed by an Enter,
# and at the PowerShell prompt, issue this command:
# Set-ExecutionPolicy Unrestricted
# Note that this decreases your security somewhat :-/
# Then, you should be able to run this script simply by
# C:\> PowerShell .\snmp.ps1
# or
# PS C:\> .\snmp.ps1
#
# Option 2:
# Just copy the lines below to clipboard and paste into the
# interactive PowerShell interpreter.
if (!(Test-Path 'REGISTRY::HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate'))
{ echo "creating key HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate" Set-Location -Path 'REGISTRY::HKLM\Software\Policies\Microsoft\Windows\' Get-Item -Path 'REGISTRY::HKLM\Software\Policies\Microsoft\Windows\' | New-Item -Name 'WindowsUpdate' -Force
}
if (!(Test-Path 'REGISTRY::HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU'))
{ echo "creating key HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU" Set-Location -Path 'REGISTRY::HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\' Get-Item -Path 'REGISTRY::HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\' | New-Item -Name 'AU' –Force
}
Get-WindowsCapability -Online -Name "SNMP*"
Set-ItemProperty "REGISTRY::HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU" UseWUserver -value 0
Get-Service wuauserv | Restart-Service
Add-WindowsCapability -Online -Name "SNMP.Client~~~~0.0.1.0"
Set-ItemProperty "REGISTRY::HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU" UseWUserver -value 1
Get-WindowsCapability -Online -Name "SNMP*"

I.e., the script first prepares some Windows Registry keys ("folders") that are needed by the DISM cmdlets forming the actual sweet spot.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like