设置 WMI SNMP 环境

使用 WMI SNMP 接口与网络设备通信需要配置设备、SNMP 和 WMI 服务。 本主题中的信息介绍如何设置 WMI SNMP 环境。

本主题包括以下部分:

安装 SNMP 提供程序

默认情况下未启用 SNMP 服务。 可以通过控制面板启用 SNMP 服务和 WMI SNMP 提供程序。 请注意,必须启用并运行 SNMP 服务才能使 WMI SNMP 提供程序正常工作。

从 Windows Vista 开始,请使用以下过程安装 SNMP 提供程序。

安装 SNMP 提供程序

  1. 在“控制面板”中选择“程序”。
  2. 在“程序和功能”下,选择“打开或关闭 Windows 功能”。
  3. 在 Windows 功能列表中,向下滚动到“SNMP 功能”并展开列表,以显示“WMI SNMP 提供程序”。
  4. 选中“WMI SNMP 提供程序”对应的复选框。 “SNMP 功能”对应的复选框已自动选中,因为提供程序需要 SNMP。
  5. 单击 “确定”
  6. 在命令提示符下或在“开始”菜单中,运行 Services.msc 并确保 SNMP 服务已启动。

创建 SNMP 命名空间

SNMP 命名空间定义网络设备的视图。

注意

有关在特定操作系统上支持和安装该组件的详细信息,请参阅 WMI 组件的操作系统可用性

 

以下过程说明如何创建 SNMP WMI 命名空间

创建 SNMP 命名空间

  1. 通过编译托管对象格式 .mof 文件或使用适用于 WMI 的 COM API 创建 __Namespace 系统类的实例。

    有关详细信息,请参阅在 WMI 中创建层次结构

  2. 将 SNMP 提供程序限定符与命名空间定义相关联。

    SNMP 提供程序限定符包含特定于实现的上下文信息,和用于定义 SNMP 提供程序如何访问 SNMP 设备的传输属性。 有关详细信息,请参阅特定于 SNMP 提供程序的限定符

  3. 使用 mofcomp 命令行工具将 MOF 代码加载到 WMI 存储库中。

    有关详细信息,请参阅编译 MOF 文件

以下 MOF 代码示例使用可与 SNMP 命名空间关联的限定符子集来定义 \snmp 命名空间。

// Load classes and instances into <\\.\root> namespace

#pragma namespace("\\\\.\\root")               

[ 
  AgentAddress( "localhost" ), 
  AgentReadCommunityName( "public"), 
  AgentWriteCommunityName( "private"), 
  AgentRetryCount( 1 ), 
  AgentRetryTimeout( 500 ), 
  AgentVarBindsPerPdu( 10 ),
  AgentFlowControlWindowSize ( 3 ) 
]

  instance of __Namespace
  {
      Name = "snmp" ;
  };

将 SNMP MIB 数据插入 WMI

作为提供程序,SNMP 提供程序充当 SNMP 数据与 WMI 类之间的桥梁。 因此,WMI 中必须有一些类代表支持 SNMP 的设备的不同方面。 为此,必须使用 SNMP 信息模块编译器 (smi2smir) 将 SNMP 管理信息从 SNMP 格式编译为等效的 CIM 架构定义。 然后,可以将信息编译器的输出定向到称为“SNMP 模块信息存储库 (SMIR)”的 SNMP 架构数据库或多种不同类型的 MOF 文件。

编译器以命令行模式运行,使用一个 MIB 文件作为输入。 以下命令将指定的 MIB 文件加载到 SMIR 中。

smi2smir /a<MIB 文件>

设置 SNMP 社区

作为安全措施,默认情况下不会创建 SNMP“公共”社区。 可以按照社区注册表设置中所述创建社区。 如果你没有任何社区,请创建“公共”社区来访问 SNMP 提供程序。

从 MIB 文件生成 MOF 文件

以下命令示例演示如何从安装 SNMP 提供程序时安装的 MIB 文件生成 MOF 文件。

cd%windir%\system32\wbem\SNMP

Smi2smir /g..\..\hostmib.mib>hostmib.mof

Smi2smir /g..\..\ipforwd.mib>ipforwd.mof

Smi2smir /g..\..\nipx.mib>nipx.mof

Smi2smir /g..\..\mib_ii.mib>mib_ii.mof

Smi2smir /g..\..\lmmib2.mib>lmmib2.mof

Smi2smir /g..\..\mcastmib.mib>mcastmib.mof

Smi2smir /g..\..\rfc2571.mib>rfc2571.mof

Smi2smir /g..\..\wfospf.mib>wfospf.mof

Smi2smir /g..\..\dhcp.mib..\..\msft.mib>dhcp.mof

Smi2smir /g..\..\wins.mib..\..\msft.mib>wins.mof

Smi2smir /g..\..\mipx.mib..\..\msft.mib>mipx.mof

Smi2smir /g..\..\mripsap.mib..\..\msft.mib>mripsap.mof

Smi2smir /g..\..\msipbtp.mib..\..\msft.mib>msipbtp.mof

Smi2smir /g..\..\msiprip2.mib..\..\msft.mib>msiprip2.mof

将 SNMP MOF 文件添加到 WMI 存储库

以下命令示例演示如何将从 MIB 文件生成的 MOF 文件添加到 WMI 存储库。 如果你要将 MOF 文件添加到在恢复 WMI 存储库时自动还原的文件列表中,请将 -AUTORECOVER 标志添加到每个命令的末尾。 有关 WMI Mofcomp.exe 命令行工具的详细信息,请参阅 mofcomp

mofcomphostmib.mof

mofcompipforwd.mof

mofcompnipx.mof

mofcompmib_ii.mof

mofcomplmmib2.mof

mofcompmcastmib.mof

mofcomprfc2571.mof

mofcompwfospf.mof

mofcompdhcp.mof

mofcompmipx.mof

mofcompmripsap.mof

mofcompmsipbtp.mof

mofcompmsiprip2.mof

访问 SNMP 设备