smi2smir

SNMP 编译器在命令行模式下作为单个可执行文件运行。 编译器接受一个 SNMP 信息模块作为输入,并接受解析外部引用所需的任何其他模块。 使用以下命令行语法示例之一。

有关何时使用此编译器的详细信息,请参阅设置 WMI SNMP 环境

smi2smir [<DiagnosticArgs>] [<VersionArgs>]
     <CommandArgs> <MIB file> [<Import Files>]

smi2smir [<DiagnosticArgs>] <RegistryArgs> [<Directory>]

smi2smir <ModuleInfoArgs> <MIB file>

smi2smir <HelpArgs>

交换机

<DiagnosticArgs>

编译器接受以下诊断参数。

/m<diagnostic-level>

要显示的诊断类型。 默认值为 2。

下面是可设置的诊断级别值的列表:

  • 0 = 无提示
  • 1 = 严重
  • 2 = 严重和警告
  • 3 = 严重、警告和信息消息

/c<count>

可显示的最大严重消息和警告消息数;count 必须为十进制正整数。 如果未指定 /c,则可报告的错误数没有限制。

<VersionArgs>

编译器接受以下版本参数。

/v1

指定严格遵守 SNMPv1 SMI。 如果编译器检测到非 SNMPv1 语句,则会报告错误。

/v2c

指定严格遵守 SNMPv2 SMI。 如果编译器检测到非 SNMPv2 语句,则会报告错误。

<CommandArgs>

编译器接受以下命令参数。

/d

从 SMIR 中删除指定的模块。

/p

删除 SMIR 中的所有模块。

/l

列出 SMIR 中的所有模块。

/lc

对模块执行本地语法检查。

/ec[<CommandModifier>]

对模块执行本地和外部检查。

/a[<CommandModifier>]

执行本地和外部检查,并将模块加载到 SMIR 中。

/sa[<CommandModifier>]

与 /a 相同,但以无提示方式工作。

/g[<CommandModifier>]

生成 SMIR .mof 文件,稍后你可以使用 MOF 编译器将其加载到 WMI 中。 由 SNMP 类提供程序用来向一个或多个命名空间动态提供类。 如果你不知道受管理的 SNMP 设备支持哪些 MIB,请使用此选项。 SNMP 类提供程序在运行时检查设备是否存在此 MIB,并将类动态提供给命名空间。

/gc[<CommandModifier>]

生成静态 .mof 文件,该文件稍后可以作为特定命名空间的静态类加载到 WMI 中。 如果你知道受管理的 SNMP 设备支持哪些 MIB,请使用此选项。 可以通过将命令的输出定向到指定文件来定义要生成的 .mof 文件。 不要与 /ext/o 一起使用。

<CommandModifiers>

编译器接受以下命令修饰符。

/i<directory>

指定要在其中搜索依赖 MIB 模块的目录。 与 /a、/ec、/g、/gc 和 /sa 一起使用。 /i 选项可以在命令中多次出现;按命令中指定的顺序在目录中搜索。

/ch

在 MOF 文件头中生成上下文信息,例如日期、时间、主机或用户。 与 /g 和 /gc 一起使用。

/t

生成 SnmpNotification 类。 与 /a、/g 和 /sa 一起使用。

/ext

生成 SnmpExtendedNotification 类。 与 /a、/g 和 /sa 一起使用。

/t/o

仅生成 SnmpNotification 类。 与 /a、/g 和 /sa 一起使用。

/ext/o

仅生成 SnmpExtendedNotification 类。 与 /a、/g 和 /sa 一起使用。

/s

不映射 DESCRIPTION 子句的文本。 与 /a、/g、/gc 和 /sa 一起使用。 若要最大程度地降低存储要求,请使用此选项。

/auto

在完成 <CommandArg> 开关之前重新生成 MIB 查找表。 与 /a、/ec、/g 和 /gc 一起使用。

<RegistryArgs>

编译器接受以下注册表参数。

/pa

将指定的目录添加到注册表。 默认为当前目录。

/pd

从注册表中删除指定的目录。 默认为当前目录。

/pl

列出注册表中的 MIB 查找目录。

/r

重新生成整个 MIB 查找表。

<ModuleInfoArgs>

编译器接受以下模块信息参数。

/n

返回指定模块的 ASN.1 名称。

/ni

返回输入模块引用的所有导入模块的 ASN.1 名称。

<HelpArgs>

编译器接受以下帮助参数。

/h

显示有关 SNMP 编译器语法的帮助。

/?

显示有关 SNMP 编译器语法的帮助。

备注

SNMP 信息模块以抽象语法表示法一 (ASN.1) 的子集编写。编译器执行以下函数:

  • 从 SNMP 信息模块加载数据。

  • 在信息模块上执行检查操作。 例如,它检查本地语法并根据附属模块中的信息检查外部引用。

  • 删除 SMIR 中以前加载的所有数据,或删除某个信息模块中的加载数据。

  • 返回指定文件的 ASN.1 模块名称,或返回指定文件中所有已导入模块的 ASN.1 模块名称。

  • 返回当前在 SMIR 中加载的所有 SNMP 信息模块的 ASN.1 模块名称。

  • 执行对已导入模块的自动解析,而不需要用户手动指定所需模块。

  • 执行无提示加载操作模式,它不生成任何输出,但可用于在安装操作期间将数据加载到 SMIR。

  • 将数据从 SNMP 信息模块输出到 SMIR。

  • (可选)创建包含信息模块的输出的静态或 SMIR MOF 文件。

    如有必要,可以将静态 .mof 文件加载到 WMI 命名空间中。 SMIR .mof 文件包含类应驻留到的 SNMP 命名空间的名称。

示例

以下示例将 pra.mof 文件定义为 pra.mib 文件的输出。

smi2smir /m 3 /v1 /gc /pra.mib > pra.mof

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008

另请参阅

SNMP 编译器错误消息

设置 WMI SNMP 环境

访问 SNMP 设备