In previous Windows versions, I could install the SNMP feature, which allowed network monitoring software to remotely gather basic system information from Windows. I haven't been able to find anything like that in Windows 10. Am I missing something, or has Microsoft finally ditched SNMP in favour of WMI?
Its in the "Turn Windows Features On or OFF" list in Control Panel> Programs and Features, it uninstalled by default but can be added.
EDIT: It appears SNMP has been deprecated in Windows 10 1809
See this list of changes in Server 2012 It was deprecated back in August 2016, so it was just a matter of time before it is for all Windows platforms.
There is a suggested workaround to install SNMP on 1809 in a link in one of my comments, but I have not tested it.
The Microsoft TechNet wiki page titled "How to Install SNMP Remotely" authored by Andrew Karmadanov has incredible amount of detail on how to install the SNMP service. This answer is a copy-and-paste of the relevant parts of Andrew's wiki page. Note that the Windows SNMP agent does not support v3, see this for more info: https://serverfault.com/questions/818237/is-snmp-v3-supported-in-windows-server-2016/818472.
1.1 Install - Graphical
Start->Control Panel->Programs and Features->Turn Windows Features on or off->Simple Network Management Protocol (SNMP)->WMI SNMP Provider->Enable checkbox.
1.2 Install - Command-line
For Windows 10,
Run cmd.exe as administrator. From the elevated command prompt, type:
dism.exe /online /enable-feature /featurename:"SNMP" /featurename:"WMISnmpProvider"
2 Configuration - User Interface
In Windows 10, the user interface is "hidden" in the services.msc Properties of the SNMP Service itself. For more info, see this Paessler THe Network Monitoring Company Knowledge Base page for details.
3 Configuration - Windows Registry
All the SNMP settings are stored in registry, which makes this task a bit easier. The settings we need to configure are shown below.
HKLM\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\EnableAuthenticationTraps HKLM\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\NameResolutionRetries HKLM\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\PermittedManagers HKLM\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\TrapConfiguration HKLM\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ValidCommunities HKLM\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\RFC1156Agent\sysContact HKLM\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\RFC1156Agent\sysLocation
EnableAuthenticationTraps, NameResolutionRetries, sysContact, and sysLocation are just registry values. We can leave them untouched. ValidCommunities, PermittedManagers, and TrapConfiguration are way more important. They define what systems can communicate to the host via SNMP
The ValidCommunities key contains the list of SNMP communities and permissions. It looks like
"<Community Name>"=dword:<Access Rights>
The access rights have the following values:
NONE – 0x0001 NOTIFY – 0x0002 READ ONLY – 0x0004 READ/WRITE – 0x0008 READ/CREATE – 0x0010
The PermittedManagers key contains the list of hosts, which can query or update a host via SNMP. It is a numbered list of names or IP addresses. For example:
The TrapConfiguration key is a list of subkeys, one per community names. In turn every subkey contains a list of hosts, to which the traps will be sent. For example:
TrapConfiguration\public "1"="10.10.10.1" "2"="MonitoringServer.doamin.com"
Note: Community names are case-sensitive