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 <诊断级别>

要显示的诊断类型。 默认值为 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 设备