如何在Windows服务器上启用SNMP?

简单网络监视协议(SNMP)是网络世界中使用最广泛的协议之一。 它被用于监视各种设备,如路由器、交换机、桌面、服务器、域控制器等。但是,在使用SNMP监视网络中的设备之前,您需要启用SNMP服务。这是一个相对简单的过程,可以在厂商提供的用户手册的帮助下完成。
 
同样,在Windows服务器上启用SNMP也是一项简单的任务。但是,如果必须在跨域和数据中心分布的网络中的多个Windows服务器上启用它,该怎么办呢? 那可能是无聊且耗时的。为简化此操作,我们使用Microsoft的PowerShell框架开发了一个脚本,以在Windows Server 2008、2008 R2、2012、2012 R2和2016上运行的Windows设备上远程启用SNMP。现在,您可以在OpManager中使用SNMP立即发现和监视Windows服务器。
 
小贴士:
想知道为什么应该使用SNMP监视Windows设备吗?
使用SNMP监视Windows服务器具有许多好处,其中包括更有效地利用CPU、随机存取存储器(RAM)和带宽资源,并且与WMI不同,轮询设备所需的端口数更少。

在Windows设备上启用SNMP的步骤

第1步:下载SNMPEnabler.ps1脚本。

第2步:以管理员身份打开Windows PowerShell实用程序。

第3步:运行SNMPEnabler.ps1脚本并提供所需的输入参数

第4步:现在,使用提供的输入执行脚本,它将自动在本地/远程设备上启用和配置SNMP。

注意:

1. 请确认是否满足远程执行的前提条件

2. 确保主机和客户端设备在同一个网络域中可用。对于多个域,可以使用该域中的远程设备在该域中的其他Windows机器上执行脚本。

3. 在将执行此脚本的远程设备上启用PSRemoting。这可以通过远程桌面连接来完成。

远程执行的前提条件

要创建远程会话并运行远程命令,本地和远程计算机必须满足以下要求。

系统要求:

这些是在远程机器上执行脚本的系统要求。

i) 要在Windows PowerShell 3.0上运行远程会话,本地和远程计算机必须具备以下条件:

  • Windows PowerShell 3.0或更高版本
  • Microsoft .NET Framework 4或更高版本
  • Windows Remote Management 3.0

ii) 要在Windows PowerShell 2.0上运行远程会话,本地和远程计算机必须具备以下条件:

  • Windows PowerShell 2.0或更高版本
  • Microsoft .NET Framework 2.0或更高版本
  • Windows Remote Management 2.0

用户权限:

默认情况下,当前用户必须是远程计算机上管理员组的成员(或提供管理员凭证)。

Windows网络/防火墙权限:

防火墙不应该阻止来自服务器端和客户端的远程连接。

以管理员身份运行:

用和配置SNMP需要管理员特权。

 

输入参数以执行脚本

该脚本可处理以下输入参数。
 
Sl.No 输入参数 用法 默认值 必选/可选 示例
1 h 需要启用SNMP服务的主机名。 - 必选(如-f未给出) -h raj-3515
2 f 包含多个主机的文件路径。

文件格式:(XXXXX.txt)
opm-dev1
localhost
192.21.23.1
raj-3515.zohocorpin.com
- 必选(如-f未给出) -f D:\SNMP\hostlist.txt
3 username 用于远程访问的帐户的用户名。 - 对于远程机器为必选
对于本地主机为可选
-username workgroup\administrator
4 pass 用于远程访问的帐户的密码。 - 对于本地主机为可选

远程:可以作为参数提供/
在远程执行期间,系统会要求您输入密码。
-pass password@123
5 onlyConfigure 用于在已启用SNMP的计算机上配置SNMP设置。
可能的值为true/false。
如果为true,则脚本仅用于配置。
false 可选 -onlyConfigure true
6 communityName 将在SNMP中添加社区的名称。 public 可选 -communityName opmcomunity
7 snmpType 从社区字符串添加权限。
允许整数值。
'1' -NONE
'2' -NOTIFY
'4' -READONLY
'8' -READWRITE
'16' -READCREATE.
4 可选 -snmpType 4
8 permittedHost 需要从远程计算机进行SNMP访问的主机。 执行脚本的默认本地主机名 可选 -permittedHost opm-dev7
9 debug 用于调试目的。可能的值为true/false。 false 可选 -debug true
 

脚本命令和用法

1. 特定主机启用

使用默认/自定义选项启用和配置单个主机的选项。

命令:

1.1. 在本地计算机上启用和配置SNMP(使用默认选项)

执行:   .\SNMPEnabler.ps1 -h localhost 

1.2. 在远程计算机上启用和配置SNMP(使用默认选项)

执行:  .\SNMPEnabler.ps1 -h <Remote_MachineName> -username <username>

1.3. 在本地计算机上启用和配置SNMP(使用自定义输入选项)

执行:  .\SNMPEnabler.ps1 -h localhost -communityName <communityName> -snmpType <snmpType> -permittedHost <permittedHost>

1.4. 在远程计算机上启用和配置SNMP(使用自定义输入选项)

执行:   .\SNMPEnabler.ps1 -h <Remote_MachineName> -username <username> -communityName <communityName> -snmpType <snmpType> -permittedHost <permittedHost>

1.5. 在启用SNMP的本地计算机上配置社区和允许的主机

执行:   .\SNMPEnabler.ps1 -h localhost -onlyConfigure true -communityName <communityName> -snmpType <snmpType> -permittedHost <permittedHost>

1.6. 在启用SNMP的远程计算机上配置社区和允许的主机

执行:  .\SNMPEnabler.ps1 -h <Remote_MachineName> -username <username> -pass <password> -onlyConfigure true -communityName <communityName> -snmpType <snmpType> -permittedHost <permittedHost>

 

2. 批量启用(使用包含主机的输入文件)

通过传递包含主机列表的文件路径,我们可以为多个服务器启用和配置SNMP。

命令:

2.1. 在多个本地/远程计算机上启用和配置SNMP(使用默认选项)

执行:    .\SNMPEnabler.ps1 -f <filepath> -username <username>

2.2. 在多个本地/远程计算机上启用和配置SNMP(使用自定义选项)

执行:  .\SNMPEnabler.ps1 -f <filepath> -username <username> -communityName <communityName> -snmpType <snmpType> -permittedHost <permittedHost> 

2.3. 在启用SNMP的本地/远程计算机上配置社区和允许的主机

执行:    .\SNMPEnabler.ps1 -f <filepath> -username <username> -onlyConfigure true -communityName <communityName> -snmpType <snmpType> -permittedHost <permittedHost>

 
点击这里了解更多有关OpManager的信息,及其服务器监视功能。要了解有关如何安装和配置SNMP的更多信息,请访问以下链接:

我们的客户