cmd中添加snmpd被控
📊 Windows SNMP服务被控端一键配置脚本
这段脚本用于在Windows系统中通过命令行快速配置SNMP服务,设置团体名(Community)和允许的管理主机(Permitted Managers),免去手动打开服务的繁琐步骤。适合批量部署或远程配置cacti/zabbix等监控系统的被控端。
📋 脚本逐行详解
# 停止Windows防火墙服务(避免阻挡SNMP的UDP 161端口) net stop sharedaccess # 添加SNMP团体名(Community),用于身份验证 # 参数说明:/v 团体名称 /t 数据类型 /d 权限(4=读写, 2=只读) /f 强制覆盖 reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SNMP\Parameters\ValidCommunities /v badusnmp /t REG_DWORD_LITTLE_ENDIAN /d 4 /f # 设置允许管理此SNMP代理的主机IP(白名单) # 参数说明:/v 序号(从1开始) /t 字符串类型 /d 允许的IP地址 reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SNMP\Parameters\PermittedManagers /v 1 /t REG_SZ /d 120.132.38.250 /f # 重启SNMP服务使配置生效 net stop SNMP net start SNMP # 退出命令行窗口 exit
🔴 红色文字为自定义内容,请根据实际情况修改:
- badusnmp — 替换为您的团队名称/团体名,需与监控端(如cacti)配置保持一致
- 120.132.38.250 — 替换为您cacti主控端IP地址,可添加多个(依次增加/v 2、/v 3...)
🔧 SNMP权限说明
| 权限值 | 含义 | 适用场景 |
|---|---|---|
4 |
读写(READ WRITE) - 可获取数据并修改设备配置 | 需要远程修改SNMP参数的场景 |
2 |
只读(READ ONLY) - 仅能获取监控数据 | 常规监控(cacti/zabbix采集数据) |
1 |
无权限 | 禁用该团体名 |
📌 补充说明
- 管理员权限:所有命令需要以管理员身份运行CMD,否则会拒绝访问。
- 预装SNMP功能:Windows默认不安装SNMP服务,需先安装:
# Windows 7/8/10 安装SNMP命令(管理员权限) dism /online /enable-feature /featurename:SNMP
- 防火墙放行:即使停止了sharedaccess,也可能有其他防火墙软件拦截,建议检查UDP 161端口是否开放。
- 团体名建议:避免使用public/private等默认名,提高安全性。
- 多IP设置:如需允许多个管理端,依次添加:
reg add ... /v 2 /t REG_SZ /d 192.168.1.100 /f reg add ... /v 3 /t REG_SZ /d 10.0.0.50 /f
✅ 验证配置: 运行 services.msc 打开服务管理器,找到SNMP Service,右键属性 → 安全 选项卡,即可看到已配置的团体名和接受主机。也可在监控端用 snmpwalk -v 2c -c 团体名 被控端IP 测试连通性。

浙公网安备 33010602011771号