Network Working Group                                            D. Levi
Request for Comments: 3165                               Nortel Networks
Obsoletes: 2592                                         J. Schoenwaelder
Category: Standards Track                                TU Braunschweig
                                                             August 2001
        
Network Working Group                                            D. Levi
Request for Comments: 3165                               Nortel Networks
Obsoletes: 2592                                         J. Schoenwaelder
Category: Standards Track                                TU Braunschweig
                                                             August 2001
        

Definitions of Managed Objects for the Delegation of Management Scripts

管理脚本委托的托管对象定义

Status of this Memo

本备忘录的状况

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

本文件规定了互联网社区的互联网标准跟踪协议,并要求进行讨论和提出改进建议。有关本协议的标准化状态和状态,请参考当前版本的“互联网官方协议标准”(STD 1)。本备忘录的分发不受限制。

Copyright Notice

版权公告

Copyright (C) The Internet Society (2001). All Rights Reserved.

版权所有(C)互联网协会(2001年)。版权所有。

Abstract

摘要

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes a set of managed objects that allow the delegation of management scripts to distributed managers.

此备忘录定义了管理信息库(MIB)的一部分,用于Internet社区中的网络管理协议。特别是,它描述了一组托管对象,允许将管理脚本委托给分布式管理器。

Table of Contents

目录

   1 Introduction .................................................    3
   2 The SNMP Management Framework ................................    3
   3 Overview .....................................................    4
   3.1 Terms ......................................................    5
   4 Requirements and Design Issues ...............................    6
   4.1 Script Languages ...........................................    6
   4.2 Script Transfer ............................................    7
   4.3 Script Execution ...........................................    8
   5 Structure of the MIB .........................................    9
   5.1 Language Group .............................................    9
   5.2 Script Group ...............................................   10
   5.3 Code Group .................................................   11
   5.4 Launch Group ...............................................   11
   5.5 Run Group ..................................................   11
   6 Definitions ..................................................   12
   7 Usage Examples ...............................................   49
   7.1 Pushing a Script via SNMP ..................................   49
   7.2 Pulling a Script from a URL ................................   50
   7.3 Modifying an Existing Script ...............................   50
   7.4 Removing an Existing Script ................................   51
   7.5 Creating a Launch Button ...................................   51
   7.6 Launching a Script .........................................   52
   7.7 Suspending a Running Script ................................   52
   7.8 Resuming a Suspended Script ................................   53
   7.9 Terminating a Running Script ...............................   53
   7.10 Removing a Terminated Script ..............................   54
   7.11 Removing a Launch Button ..................................   54
   8 VACM Configuration Examples ..................................   54
   8.1 Sandbox for Guests .........................................   55
   8.2 Sharing Scripts ............................................   55
   8.3 Emergency Scripts ..........................................   56
   9 IANA Considerations ..........................................   57
   10 Security Considerations .....................................   57
   11 Intellectual Property .......................................   59
   12 Changes from RFC 2592 .......................................   59
   13 Acknowledgments .............................................   61
   14 References ..................................................   61
   15 Editors' Addresses ..........................................   63
   16 Full Copyright Statement ....................................   64
        
   1 Introduction .................................................    3
   2 The SNMP Management Framework ................................    3
   3 Overview .....................................................    4
   3.1 Terms ......................................................    5
   4 Requirements and Design Issues ...............................    6
   4.1 Script Languages ...........................................    6
   4.2 Script Transfer ............................................    7
   4.3 Script Execution ...........................................    8
   5 Structure of the MIB .........................................    9
   5.1 Language Group .............................................    9
   5.2 Script Group ...............................................   10
   5.3 Code Group .................................................   11
   5.4 Launch Group ...............................................   11
   5.5 Run Group ..................................................   11
   6 Definitions ..................................................   12
   7 Usage Examples ...............................................   49
   7.1 Pushing a Script via SNMP ..................................   49
   7.2 Pulling a Script from a URL ................................   50
   7.3 Modifying an Existing Script ...............................   50
   7.4 Removing an Existing Script ................................   51
   7.5 Creating a Launch Button ...................................   51
   7.6 Launching a Script .........................................   52
   7.7 Suspending a Running Script ................................   52
   7.8 Resuming a Suspended Script ................................   53
   7.9 Terminating a Running Script ...............................   53
   7.10 Removing a Terminated Script ..............................   54
   7.11 Removing a Launch Button ..................................   54
   8 VACM Configuration Examples ..................................   54
   8.1 Sandbox for Guests .........................................   55
   8.2 Sharing Scripts ............................................   55
   8.3 Emergency Scripts ..........................................   56
   9 IANA Considerations ..........................................   57
   10 Security Considerations .....................................   57
   11 Intellectual Property .......................................   59
   12 Changes from RFC 2592 .......................................   59
   13 Acknowledgments .............................................   61
   14 References ..................................................   61
   15 Editors' Addresses ..........................................   63
   16 Full Copyright Statement ....................................   64
        
1. Introduction
1. 介绍

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes a set of managed objects that allow the delegation of management scripts to distributed managers.

此备忘录定义了管理信息库(MIB)的一部分,用于Internet社区中的网络管理协议。特别是,它描述了一组托管对象,允许将管理脚本委托给分布式管理器。

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].

本文件中的关键词“必须”、“不得”、“要求”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照RFC 2119[RFC2119]中所述进行解释。

2. The SNMP Management Framework
2. SNMP管理框架

The SNMP Management Framework presently consists of five major components:

SNMP管理框架目前由五个主要组件组成:

o An overall architecture, described in RFC 2571 [RFC2571].

o RFC 2571[RFC2571]中描述的总体架构。

o Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and described in STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC 1215 [RFC1215]. The second version, called SMIv2, is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580].

o 为管理目的描述和命名对象和事件的机制。这种管理信息结构(SMI)的第一个版本称为SMIv1,并在STD 16、RFC 1155[RFC1155]、STD 16、RFC 1212[RFC1212]和RFC 1215[RFC1215]中进行了描述。第二个版本称为SMIv2,在STD 58、RFC 2578[RFC2578]、STD 58、RFC 2579[RFC2579]和STD 58、RFC 2580[RFC2580]中进行了描述。

o Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in STD 15, RFC 1157 [RFC1157]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [RFC1901] and RFC 1906 [RFC1906]. The third version of the message protocol is called SNMPv3 and described in RFC 1906 [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574].

o 用于传输管理信息的消息协议。SNMP消息协议的第一个版本称为SNMPv1,在STD 15 RFC 1157[RFC1157]中进行了描述。SNMP消息协议的第二个版本不是Internet标准跟踪协议,称为SNMPv2c,在RFC 1901[RFC1901]和RFC 1906[RFC1906]中进行了描述。消息协议的第三个版本称为SNMPv3,在RFC 1906[RFC1906]、RFC 2572[RFC2572]和RFC 2574[RFC2574]中进行了描述。

o Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [RFC1157]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [RFC1905].

o 访问管理信息的协议操作。STD 15、RFC 1157[RFC1157]中描述了第一组协议操作和相关PDU格式。RFC 1905[RFC1905]中描述了第二组协议操作和相关PDU格式。

o A set of fundamental applications described in RFC 2573 [RFC2573] and the view-based access control mechanism described in RFC 2575 [RFC2575].

o RFC 2573[RFC2573]中描述的一组基本应用程序和RFC 2575[RFC2575]中描述的基于视图的访问控制机制。

A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570 [RFC2570].

有关当前SNMP管理框架的更详细介绍,请参见RFC 2570[RFC2570]。

Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the mechanisms defined in the SMI.

托管对象通过虚拟信息存储(称为管理信息库或MIB)进行访问。MIB中的对象是使用SMI中定义的机制定义的。

This memo specifies a MIB module that is compliant to the SMIv2. A MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine readable information is not considered to change the semantics of the MIB.

此备忘录指定了符合SMIv2的MIB模块。通过适当的翻译,可以生成符合SMIv1的MIB。生成的已翻译MIB必须在语义上等效,除非由于无法翻译而省略了对象或事件(使用计数器64)。在翻译过程中,SMIv2中的一些机器可读信息将转换为SMIv1中的文本描述。但是,这种机器可读信息的丢失不被认为会改变MIB的语义。

3. Overview
3. 概述

The Script MIB module defined in this memo can be used to delegate management functions to distributed managers. Management functions are defined as management scripts written in a management scripting language. This MIB makes no assumptions about the language itself and even allows distribution of compiled native code, if an implementation is able to execute native code under the control of this MIB.

此备忘录中定义的脚本MIB模块可用于将管理功能委托给分布式管理器。管理功能定义为使用管理脚本语言编写的管理脚本。如果实现能够在该MIB的控制下执行本机代码,则该MIB不对语言本身进行任何假设,甚至允许分发已编译的本机代码。

The Script MIB defines a standard interface for the delegation of management functions based on the Internet management framework. In particular, it provides the following capabilities:

脚本MIB定义了基于Internet管理框架的管理功能委托的标准接口。特别是,它提供了以下功能:

1. Capabilities to transfer management scripts to a distributed manager.

1. 将管理脚本传输到分布式管理器的功能。

2. Capabilities for initiating, suspending, resuming and terminating management scripts.

2. 用于启动、挂起、恢复和终止管理脚本的功能。

3. Capabilities to transfer arguments for management scripts.

3. 传输管理脚本参数的功能。

4. Capabilities to monitor and control running management scripts.

4. 监视和控制正在运行的管理脚本的功能。

5. Capabilities to transfer the results produced by running management scripts.

5. 传输运行管理脚本产生的结果的功能。

This memo does not address any additional topics like the generation of notifications or how to address remote agents from a Script MIB implementation.

本备忘录不涉及任何其他主题,如通知的生成或如何通过脚本MIB实现对远程代理进行寻址。

3.1. Terms
3.1. 条款

This section defines the terms used throughout this memo.

本节定义了本备忘录中使用的术语。

o A `distributed manager' is a processing entity which is capable of performing network management functions. For the scope of this memo, a distributed manager is assumed to implement the Script MIB.

o “分布式管理器”是能够执行网络管理功能的处理实体。对于本备忘录的范围,假定使用分布式管理器来实现脚本MIB。

o A `higher-level manager', or just `manager', is a processing entity or human who initiates and controls the operations performed by one or more distributed managers.

o “更高级别的管理者”或“管理者”是一个处理实体或人员,负责发起和控制一个或多个分布式管理者执行的操作。

o A `management script' is a set of instructions written in an executable language which implements a management function.

o “管理脚本”是用可执行语言编写的一组指令,用于实现管理功能。

o A `management scripting language' is a language used to write management scripts. The term scripting language does not imply that the language must have the characteristics of scripting languages (e.g., string orientation, interpretation, weak typing). The MIB defined in this memo also allows to control management scripts written in arbitrary compiled system programming languages.

o “管理脚本语言”是一种用于编写管理脚本的语言。术语脚本语言并不意味着该语言必须具有脚本语言的特征(例如,字符串方向、解释、弱类型)。本备忘录中定义的MIB还允许控制以任意编译系统编程语言编写的管理脚本。

o A `distributed manager' can be decomposed into an `SNMP entity' which implements the Script MIB defined in this memo and the ` runtime system' that executes scripts. The Script MIB sees the runtime system as the managed resource which is controlled by the MIB.

o “分布式管理器”可以分解为“SNMP实体”,该实体实现本备忘录中定义的脚本MIB和执行脚本的“运行时系统”。脚本MIB将运行时系统视为受MIB控制的托管资源。

The runtime system can act as an SNMP application, according to the SNMP architecture defined in RFC 2571 [RFC2571]. For example, a runtime system which sends SNMP requests to other SNMP entities will act as a command generator application. The SNMP applications in the runtime system may use the same SNMP engine which also serves the command responder application used to implement the Script MIB, but they are not required to do so.

根据RFC 2571[RFC2571]中定义的SNMP体系结构,运行时系统可以充当SNMP应用程序。例如,向其他SNMP实体发送SNMP请求的运行时系统将充当命令生成器应用程序。运行时系统中的SNMP应用程序可以使用同一个SNMP引擎,该引擎也为用于实现脚本MIB的命令响应程序应用程序提供服务,但不需要这样做。

o A `launch button' is the conceptual button used to start the execution of a management script. It assigns control parameters to a management script. In particular, it defines the ownership of the scripts started from a launch button. The ownership can be used by the language runtime system to enforce security profiles on a running management script.

o “启动按钮”是用于启动管理脚本执行的概念性按钮。它将控制参数分配给管理脚本。特别是,它定义了从启动按钮启动的脚本的所有权。语言运行时系统可以使用所有权在运行的管理脚本上强制实施安全配置文件。

4. Requirements and Design Issues
4. 需求和设计问题

This section discusses some general requirements that have influenced the design of the Script MIB.

本节讨论影响脚本MIB设计的一些一般需求。

o The Script MIB must not make any assumptions about specific languages or runtime systems.

o 脚本MIB不得对特定语言或运行时系统进行任何假设。

o The Script MIB must provide mechanisms that help to avoid new management problems (e.g., script version problems).

o 脚本MIB必须提供有助于避免新的管理问题(例如,脚本版本问题)的机制。

o The Script MIB must provide SNMP interfaces to all functions required to delegate management scripts. However, other protocols might be used in addition if they provide a significant improvement in terms of convenience for implementation or performance.

o 脚本MIB必须为委托管理脚本所需的所有功能提供SNMP接口。然而,如果其他协议在实现或性能方面提供了显著的改进,则可以另外使用它们。

o The Script MIB must be organized so that access can be controlled effectively by using view-based access control [RFC2575].

o 必须组织脚本MIB,以便通过使用基于视图的访问控制[RFC2575]有效地控制访问。

The following sections discuss some design issues in more detail.

以下各节将更详细地讨论一些设计问题。

4.1. Script Languages
4.1. 脚本语言

The Script MIB defined in this memo makes no assumption about the script language. This MIB can therefore be used in combination with different languages (such as Tcl or Java) and/or different versions of the same language. No assumptions are made about the format in which management scripts are transferred.

本备忘录中定义的脚本MIB不对脚本语言进行假设。因此,此MIB可以与不同语言(如Tcl或Java)和/或同一语言的不同版本结合使用。未对管理脚本的传输格式进行任何假设。

The Script MIB provides access to information about the language versions supported by a Script MIB implementation so that a manager can learn about the capabilities provided by an implementation. Languages and language versions are identified as follows:

脚本MIB提供对脚本MIB实现支持的语言版本信息的访问,以便管理者可以了解实现提供的功能。语言和语言版本标识如下:

1. The language is identified by an object identifier. Object identifier for well-known languages will be registered by the Internet Assigned Numbers Authority (IANA). Enterprise specific languages can also be registered in the enterprise specific OID subtree.

1. 该语言由对象标识符标识。著名语言的对象标识符将由互联网分配号码管理局(IANA)注册。企业特定语言也可以在企业特定OID子树中注册。

2. A particular version of a language is identified by a language version number. The combination of a language object identifier and a language version is in most cases sufficient to decide whether a script can be executed or not.

2. 语言的特定版本由语言版本号标识。在大多数情况下,语言对象标识符和语言版本的组合足以决定脚本是否可以执行。

3. Different implementations of the same language version might have differences due to ambiguities in the language definition or additional language features provided by an implementor. An additional object identifier value is provided which identifies the organization which provides the implementation of a language. This might be used by scripts that require a particular implementation of a language.

3. 同一语言版本的不同实现可能会因语言定义的歧义或实现者提供的其他语言特性而存在差异。提供了一个附加的对象标识符值,用于标识提供语言实现的组织。这可能由需要特定语言实现的脚本使用。

4. Finally, there might be different versions of a language implementation. A version number for the language implementation is provided so that the manager can also distinguish between different implementations from the same organization of a particular language version.

4. 最后,可能有不同版本的语言实现。提供语言实现的版本号,以便经理还可以区分来自特定语言版本的同一组织的不同实现。

The version numbers can either be used by a manager to select the language version required to execute a particular script or to select a script that fits the language versions supported by a particular Script MIB implementation.

管理器可以使用版本号选择执行特定脚本所需的语言版本,也可以选择适合特定脚本MIB实现支持的语言版本的脚本。

An additional table lists language extensions that provide features not provided by the core language. Language extensions are usually required to turn a general purpose language into a management language. In many cases, language extensions will come in the form of libraries that provide capabilities like sending SNMP requests to remote SNMP agents or accessing the local MIB instrumentation. Every extension is associated with a language and carries its own version numbers.

另一个表列出了提供核心语言未提供的功能的语言扩展。将通用语言转换为管理语言通常需要语言扩展。在许多情况下,语言扩展将以库的形式出现,这些库提供向远程SNMP代理发送SNMP请求或访问本地MIB检测等功能。每个扩展都与一种语言相关联,并带有自己的版本号。

4.2. Script Transfer
4.2. 脚本传输

There are two different ways to transfer management scripts to a distributed manager. The first approach requires that the manager pushes the script to the distributed manager. This is therefore called the `push model'. The second approach is the `pull model' where the manager tells the distributed manager the location of the script and the distributed manager retrieves the script itself.

将管理脚本传输到分布式管理器有两种不同的方法。第一种方法要求管理器将脚本推送到分布式管理器。因此,这被称为“推送模式”。第二种方法是“拉模型”,其中管理器告诉分布式管理器脚本的位置,分布式管理器检索脚本本身。

The MIB defined in this memo supports both models. The `push model' is realized by a table which allows a manager to write scripts by sending a sequence of SNMP set requests. The script can be split into several fragments in order to deal with SNMP message size limitations.

本备忘录中定义的MIB支持这两种模型。“推送模式”由一个表实现,该表允许管理者通过发送一系列SNMP集合请求来编写脚本。为了处理SNMP消息大小限制,可以将脚本拆分为多个片段。

The `pull model' is realized by the use of Uniform Resource Locators (URLs) [RFC2396] that point to the script source. The manager writes the URL which points to the script source to the distributed manager

“拉动模型”是通过使用指向脚本源的统一资源定位器(URL)[RFC2396]实现的。管理器将指向脚本源的URL写入分布式管理器

by sending an SNMP set request. The distributed manager is then responsible for retrieving the document using the protocol specified in the URL. This allows the use of protocols like FTP [RFC959] or HTTP [RFC2616] to transfer large management scripts efficiently.

通过发送SNMP设置请求。然后,分布式管理器负责使用URL中指定的协议检索文档。这允许使用FTP[RFC959]或HTTP[RFC2616]等协议高效地传输大型管理脚本。

The Script MIB also allows management scripts that are hard-wired into the Script MIB implementation. Built-in scripts can either be implemented in a language runtime system, or they can be built natively into the Script MIB implementation. The implementation of the `push model' or the `pull model' is not required.

脚本MIB还允许硬连接到脚本MIB实现中的管理脚本。内置脚本可以在语言运行时系统中实现,也可以在脚本MIB实现中本机构建。不需要实施“推模式”或“拉模式”。

Scripts can be stored in non-volatile storage. This allows a distributed manager to restart scripts if it is restarted (off-line restart). A manager is not required to push scripts back into the distributed manager after a restart if the script is backed up in non-volatile storage.

脚本可以存储在非易失性存储器中。这允许分布式管理器在重新启动(离线重新启动)时重新启动脚本。如果在非易失性存储中备份脚本,则在重新启动后,管理器无需将脚本推回分布式管理器。

Every script is identified by an administratively assigned name. This name may be used to derive the name which is used to access the script in non-volatile storage. This mapping is implementation specific. However, the mapping must ensure that the Script MIB implementation can handle scripts with the same administrative name owned by different managers. One way to achieve this is to use the script owner in addition to the script name in order to derive the internal name used to refer to a particular script in non-volatile storage.

每个脚本都由管理分配的名称标识。此名称可用于派生用于访问非易失性存储器中脚本的名称。此映射是特定于实现的。但是,映射必须确保脚本MIB实现可以处理不同管理者拥有的具有相同管理名称的脚本。实现这一点的一种方法是,除了使用脚本名称外,还使用脚本所有者,以便派生用于引用非易失性存储中特定脚本的内部名称。

4.3. Script Execution
4.3. 脚本执行

The Script MIB permits execution of several instances of the same or different management scripts. Script arguments are passed as OCTET STRING values. Scripts return a single result value which is also an OCTET STRING value. The semantic interpretation of result values is left to the invoking manager or other management scripts. A script invoker must understand the format and semantics of both the arguments and the results of the scripts that it invokes.

脚本MIB允许执行相同或不同管理脚本的多个实例。脚本参数作为八位字节字符串值传递。脚本返回一个结果值,该值也是八位字节字符串值。结果值的语义解释留给调用管理器或其他管理脚本。脚本调用程序必须理解参数的格式和语义以及它调用的脚本的结果。

Scripts can also export complex results through a MIB interface. This allows a management application to access and use script results in the same manner as it processes any other MIB data. However, the Script MIB does not provide any special support for the implementation of MIBs through scripts.

脚本还可以通过MIB接口导出复杂的结果。这允许管理应用程序以与处理任何其他MIB数据相同的方式访问和使用脚本结果。但是,脚本MIB不提供任何通过脚本实现MIB的特殊支持。

Runtime errors terminate active scripts. An exit code and a human readable error message is left in the MIB. A notification containing the exit code, the error message and a timestamp is generated when a script terminates with an error exit code.

运行时错误终止活动脚本。MIB中会留下一个退出代码和一条人类可读的错误消息。当脚本以错误退出代码终止时,将生成包含退出代码、错误消息和时间戳的通知。

Script arguments and results do not have any size limitations other than the limits imposed by the SMI and the SNMP protocol. However, implementations of this MIB might have further restrictions. A script designer might therefore choose to return the results via other mechanisms if the script results can be very large. One possibility is to return a URL as a script result which points to the file containing the script output.

除了SMI和SNMP协议施加的限制外,脚本参数和结果没有任何大小限制。但是,此MIB的实现可能有进一步的限制。因此,如果脚本结果可能非常大,脚本设计者可能会选择通过其他机制返回结果。一种可能是返回一个URL作为脚本结果,该结果指向包含脚本输出的文件。

Executing scripts have a status object attached which allows script execution to be suspended, resumed, or aborted. The precise semantics of the suspend and resume operations are language and runtime system dependent. Some runtime systems may choose to not implement the suspend/resume operations.

正在执行的脚本附加了一个状态对象,该对象允许暂停、恢复或中止脚本执行。挂起和恢复操作的精确语义取决于语言和运行时系统。某些运行时系统可能选择不实现挂起/恢复操作。

A history of finished scripts is kept in the MIB. A script invoker can collect results at a later point in time (offline operation). Control objects can be used to control how entries in the history are aged out if the table fills up.

已完成脚本的历史记录保存在MIB中。脚本调用程序可以在稍后的时间点(脱机操作)收集结果。控件对象可用于控制当表填满时历史记录中的条目如何老化。

5. Structure of the MIB
5. MIB的结构

This section presents the structure of the MIB. The objects are arranged into the following groups:

本节介绍MIB的结构。对象被排列为以下组:

o language group (smLangTable, smExtsnTable)

o 语言组(smLangTable、smExtsnTable)

o script group (smScriptTable)

o 脚本组(smScriptTable)

o script code group (smCodeTable)

o 脚本代码组(smCodeTable)

o script launch group (smLaunchTable)

o 脚本启动组(smLaunchTable)

o running script group (smRunTable)

o 运行脚本组(smRunTable)

5.1. Language Group
5.1. 语言群

The smLanguageGroup is used to provide information about the languages and the language extensions supported by a Script MIB implementation. This group includes two tables. The smLangTable lists all languages supported by a Script MIB implementation and the smExtsnTable lists the extensions that are available for a given language.

smLanguageGroup用于提供有关脚本MIB实现支持的语言和语言扩展的信息。该组包括两个表。smLangTable列出脚本MIB实现支持的所有语言,SMEXTSNTBLE列出可用于给定语言的扩展。

5.2. Script Group
5.2. 脚本组

The smScriptGroup consists of a single table, called the smScriptTable. The smScriptTable lists all scripts known to a Script MIB implementation. The smScriptTable contains objects that allow the following operations:

smScriptGroup由一个名为smScriptTable的表组成。smScriptTable列出脚本MIB实现已知的所有脚本。smScriptTable包含允许以下操作的对象:

o download scripts from a URL (pull model)

o 从URL下载脚本(拉模型)

o read scripts from local non-volatile storage

o 从本地非易失性存储器读取脚本

o store scripts in local non-volatile storage

o 将脚本存储在本地非易失性存储器中

o delete scripts from local non-volatile storage

o 从本地非易失性存储中删除脚本

o list permanent scripts (that can not be changed or removed)

o 列出永久脚本(不能更改或删除)

o read and modify the script status (enabled, disabled, editing)

o 读取并修改脚本状态(已启用、已禁用、正在编辑)

A status object called smScriptOperStatus allows a manager to obtain the current status of a script. It is also used to provide an error indication if an attempt to invoke one of the operations listed above fails. The status change of a script can be requested by modifying the associated smScriptAdminStatus object.

名为smScriptOperStatus的状态对象允许管理器获取脚本的当前状态。它还用于在调用上述操作之一失败时提供错误指示。可以通过修改关联的smScriptAdminStatus对象来请求脚本的状态更改。

The source of a script is defined by the smScriptSource object. This object may contain a URL pointing to a remote location which provides access to the management script. The script source is read from the smCodeTable (described below) or from non-volatile storage if the smScriptSource object contains an empty URL. The smScriptStorageType object is used to distinguish between scripts read from non-volatile storage and scripts read from the smCodeTable.

脚本的源由smScriptSource对象定义。此对象可能包含指向远程位置的URL,该位置提供对管理脚本的访问。如果smScriptSource对象包含空URL,则从smCodeTable(如下所述)或非易失性存储器读取脚本源。smScriptStorageType对象用于区分从非易失性存储读取的脚本和从smCodeTable读取的脚本。

Scripts are automatically loaded once the smScriptAdminStatus object is set to `enabled'. Loading a script includes retrieving the script (probably from a remote location), compiling the script for languages that require a compilation step, and making the code available to the runtime system. The smScriptOperStatus object is used to indicate the status of the loading process. This object will start in the state `retrieving', switch to the state `compiling' and finally reach the state `enabled'. Errors during the retrieval or compilation phase will result in an error state such as `compilationFailed'.

smScriptAdminStatus对象设置为“已启用”后,脚本将自动加载。加载脚本包括检索脚本(可能来自远程位置)、为需要编译步骤的语言编译脚本,以及使代码可供运行时系统使用。smScriptOperStatus对象用于指示加载进程的状态。此对象将以“正在检索”状态启动,切换到“正在编译”状态,最后达到“已启用”状态。检索或编译阶段的错误将导致错误状态,如“compilationFailed”。

5.3. Code Group
5.3. 代码组

The smCodeGroup consists of a single table, called the smCodeTable, which provides the ability to transfer and modify scripts via SNMP set requests. In particular, the smCodeTable allows the following operations:

smCodeGroup由一个称为smCodeTable的表组成,该表提供了通过SNMP集合请求传输和修改脚本的能力。特别是,smCodeTable允许以下操作:

o download scripts via SNMP (push model)

o 通过SNMP下载脚本(推送模式)

o modify scripts via SNMP (editing)

o 通过SNMP修改脚本(编辑)

The smCodeTable lists the code of a script. A script can be fragmented over multiple rows of the smCodeTable in order to handle SNMP message size limitations. Modifications of the smCodeTable are only possible if the associated smScriptOperStatus object has the value `editing'. The Script MIB implementation reloads the modified script code once the smScriptOperStatus changes to `enabled' again.

smCodeTable列出了脚本的代码。为了处理SNMP消息大小限制,脚本可以在smCodeTable的多行上分段。仅当关联的smScriptOperStatus对象的值为“editing”时,才能修改smCodeTable。一旦smScriptOperStatus再次更改为“enabled”,脚本MIB实现将重新加载修改后的脚本代码。

The implementation of the smCodeGroup is optional.

smCodeGroup的实现是可选的。

5.4. Launch Group
5.4. 发射组

The smLaunchGroup contains a single table, the smLaunchTable. An entry in the smLaunchTable represents a launch button which can be used to start a script. The smLaunchTable allows the following operations:

smLaunchGroup包含一个表smLaunchTable。smLaunchTable中的条目表示可用于启动脚本的启动按钮。smLaunchTable允许以下操作:

o associate a script with an owner used during script execution

o 将脚本与脚本执行期间使用的所有者关联

o provide arguments and parameters for script invocation

o 为脚本调用提供参数和参数

o invoke scripts with a single set operation

o 使用单个集合操作调用脚本

The smLaunchTable describes scripts and their parameters that are ready to be launched. An entry in the smLaunchTable attaches an argument to a script and control values which, for example, define the maximum number of times that a script invoked from a particular row in the smLaunchTable may be running concurrently.

smLaunchTable描述准备启动的脚本及其参数。smLaunchTable中的条目将参数附加到脚本和控制值,例如,这些值定义了从smLaunchTable中特定行调用的脚本可以并发运行的最大次数。

An entry in the smLaunchTable also defines the owner which will be used to associate permissions with the script execution.

smLaunchTable中的一个条目还定义了将用于将权限与脚本执行关联的所有者。

5.5. Run Group
5.5. 跑步组

The smRunGroup contains a single table, called the smRunTable, which lists all scripts that are currently running or have terminated recently. The smRunTable contains objects that allow the following operations:

smRunGroup包含一个名为smRunTable的表,其中列出了当前正在运行或最近终止的所有脚本。smRunTable包含允许以下操作的对象:

o retrieve status information from running scripts

o 从正在运行的脚本中检索状态信息

o control running scripts (suspend, resume, abort)

o 控制正在运行的脚本(挂起、恢复、中止)

o retrieve results from recently terminated scripts

o 从最近终止的脚本检索结果

o control the remaining maximum lifetime of a running script

o 控制运行脚本的剩余最长生存期

o control how long script results are accessible

o 控制脚本结果可访问的时间

Every row in the smRunTable contains the argument passed during script invocation, the result produced by the script and the script exit code. The smRunTable also provides information about the current run state as well as start and end time-stamps. There are three writable objects in the smRunTable. The smRunLifeTime object defines the maximum time a running script may run before it is terminated by the Script MIB implementation. The smRunExpireTime object defines the time that a completed script can stay in the smRunTable before it is aged out. The smRunControl object allows running scripts to be suspended, resumed, or aborted.

smRunTable中的每一行都包含脚本调用期间传递的参数、脚本生成的结果和脚本退出代码。smRunTable还提供有关当前运行状态以及开始和结束时间戳的信息。smRunTable中有三个可写对象。smRunLifeTime对象定义在脚本MIB实现终止正在运行的脚本之前可以运行的最长时间。smRunExpireTime对象定义完成的脚本在过期之前可以停留在smRunTable中的时间。smRunControl对象允许暂停、恢复或中止正在运行的脚本。

6. Definitions
6. 定义
   DISMAN-SCRIPT-MIB DEFINITIONS ::= BEGIN
        
   DISMAN-SCRIPT-MIB DEFINITIONS ::= BEGIN
        

IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Integer32, Unsigned32, mib-2 FROM SNMPv2-SMI

从SNMPv2 SMI导入模块标识、对象类型、通知类型、整数32、无符号32、mib-2

RowStatus, TimeInterval, DateAndTime, StorageType, DisplayString FROM SNMPv2-TC

SNMPv2 TC中的行状态、时间间隔、日期和时间、存储类型、显示字符串

MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF

来自SNMPv2 CONF的MODULE-COMPLIANCE、OBJECT-GROUP、NOTIFICATION-GROUP

SnmpAdminString FROM SNMP-FRAMEWORK-MIB;

SNMP-FRAMEWORK-MIB的snmpadmin安装;

scriptMIB MODULE-IDENTITY LAST-UPDATED "200108210000Z" ORGANIZATION "IETF Distributed Management Working Group" CONTACT-INFO "WG EMail: disman@dorothy.bmc.com Subscribe: disman-request@dorothy.bmc.com

scriptMIB MODULE-IDENTITY最后更新的“200108210000Z”组织“IETF分布式管理工作组”联系人信息工作组电子邮件:disman@dorothy.bmc.com订阅:Deman-request@dorothy.bmc.com

Chair: Randy Presuhn BMC Software, Inc.

主席:兰迪·普雷森BMC软件公司。

Postal: Office 1-3141 2141 North First Street San Jose, California 95131 USA EMail: rpresuhn@bmc.com Phone: +1 408 546-1006

邮政:办公室1-31412141美国加利福尼亚州圣何塞北第一街95131电子邮件:rpresuhn@bmc.com电话:+1408 546-1006

Editor: David B. Levi Nortel Networks Postal: 4401 Great America Parkway Santa Clara, CA 95052-8185 USA EMail: dlevi@nortelnetworks.com Phone: +1 423 686 0432

编辑:David B.Levi Nortel Networks邮政:美国加利福尼亚州圣克拉拉大美洲大道4401号95052-8185电子邮件:dlevi@nortelnetworks.com电话:+14236860432

Editor: Juergen Schoenwaelder TU Braunschweig Postal: Bueltenweg 74/75 38106 Braunschweig Germany EMail: schoenw@ibr.cs.tu-bs.de Phone: +49 531 391-3283" DESCRIPTION "This MIB module defines a set of objects that allow to delegate management scripts to distributed managers." REVISION "200108210000Z" DESCRIPTION "Revised version, published as RFC 3165.

编辑:Juergen Schoenwaelder TU Braunchweig邮政:Bueltenweg 74/75 38106 Braunchweig Germany电子邮件:schoenw@ibr.cs.tu-bs.de电话:+49 531 391-3283“说明”此MIB模块定义了一组对象,允许将管理脚本委托给分布式管理器。“修订版”200108210000Z“说明”修订版,作为RFC3165出版。

This revision introduces several new objects: smScriptError, smScriptLastChange, smLaunchError, smLaunchLastChange, smLaunchRowExpireTime, smRunResultTime, and smRunErrorTime.

此版本引入了几个新对象:smScriptError、smScriptLastChange、SMLaunchRor、smLaunchLastChange、smLaunchRowExpireTime、smRunResultTime和smRunErrorTime。

The following existing objects were updated: the maximum value of smRunLifeTime now disables the timer, an autostart value was added to the smLaunchAdminStatus object, and a new expired state was added to the smLaunchOperStatus object.

已更新以下现有对象:smRunLifeTime的最大值现在禁用计时器,将autostart值添加到smLaunchAdminStatus对象,并将新的过期状态添加到smLaunchOperStatus对象。

A new smScriptException notification has been added to support runtime error notifications.

已添加新的smScriptException通知以支持运行时错误通知。

Created new conformance and compliance statements that take care of the new objects and notifications.

创建了新的一致性和一致性声明,用于处理新对象和通知。

Clarifications have been added in several places to remove ambiguities or contradictions that were discovered and reported by implementors."

在一些地方增加了澄清,以消除实施者发现和报告的歧义或矛盾。”

       REVISION    "199902221800Z"
       DESCRIPTION
           "Initial version, published as RFC 2592."
       ::= { mib-2 64 }
        
       REVISION    "199902221800Z"
       DESCRIPTION
           "Initial version, published as RFC 2592."
       ::= { mib-2 64 }
        

-- -- The groups defined within this MIB module: --

----在此MIB模块中定义的组:--

   smObjects       OBJECT IDENTIFIER ::= { scriptMIB 1 }
   smNotifications OBJECT IDENTIFIER ::= { scriptMIB 2 }
   smConformance   OBJECT IDENTIFIER ::= { scriptMIB 3 }
        
   smObjects       OBJECT IDENTIFIER ::= { scriptMIB 1 }
   smNotifications OBJECT IDENTIFIER ::= { scriptMIB 2 }
   smConformance   OBJECT IDENTIFIER ::= { scriptMIB 3 }
        
   --
   -- Script language and language extensions.
   --
   -- This group defines tables which list the languages and the
   -- language extensions supported by a Script MIB implementation.
   -- Languages are uniquely identified by object identifier values.
   --
        
   --
   -- Script language and language extensions.
   --
   -- This group defines tables which list the languages and the
   -- language extensions supported by a Script MIB implementation.
   -- Languages are uniquely identified by object identifier values.
   --
        
   smLangTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SmLangEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists supported script languages."
       ::= { smObjects 1 }
        
   smLangTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SmLangEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists supported script languages."
       ::= { smObjects 1 }
        
   smLangEntry OBJECT-TYPE
       SYNTAX      SmLangEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry describing a particular language."
       INDEX { smLangIndex }
       ::= { smLangTable 1 }
        
   smLangEntry OBJECT-TYPE
       SYNTAX      SmLangEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry describing a particular language."
       INDEX { smLangIndex }
       ::= { smLangTable 1 }
        
   SmLangEntry ::= SEQUENCE {
       smLangIndex         Integer32,
       smLangLanguage      OBJECT IDENTIFIER,
       smLangVersion       SnmpAdminString,
       smLangVendor        OBJECT IDENTIFIER,
       smLangRevision      SnmpAdminString,
       smLangDescr         SnmpAdminString
   }
        
   SmLangEntry ::= SEQUENCE {
       smLangIndex         Integer32,
       smLangLanguage      OBJECT IDENTIFIER,
       smLangVersion       SnmpAdminString,
       smLangVendor        OBJECT IDENTIFIER,
       smLangRevision      SnmpAdminString,
       smLangDescr         SnmpAdminString
   }
        

smLangIndex OBJECT-TYPE

smLangIndex对象类型

SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The locally arbitrary, but unique identifier associated with this language entry.

语法整数32(1..2147483647)MAX-ACCESS not ACCESS STATUS current DESCRIPTION“与此语言项关联的本地任意但唯一的标识符。

The value is expected to remain constant at least from one re-initialization of the entity's network management system to the next re-initialization.

至少从实体网络管理系统的一次重新初始化到下一次重新初始化,该值应保持不变。

            Note that the data type and the range of this object must
            be consistent with the definition of smScriptLanguage."
       ::= { smLangEntry 1 }
        
            Note that the data type and the range of this object must
            be consistent with the definition of smScriptLanguage."
       ::= { smLangEntry 1 }
        
   smLangLanguage OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The globally unique identification of the language."
       ::= { smLangEntry 2 }
        
   smLangLanguage OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The globally unique identification of the language."
       ::= { smLangEntry 2 }
        

smLangVersion OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32)) MAX-ACCESS read-only STATUS current DESCRIPTION "The version number of the language. The zero-length string shall be used if the language does not have a version number.

smLangVersion对象类型语法SnmpAdminString(大小(0..32))MAX-ACCESS只读状态当前描述“语言的版本号。如果语言没有版本号,则应使用零长度字符串。

            It is suggested that the version number consist of one or
            more decimal numbers separated by dots, where the first
            number is called the major version number."
       ::= { smLangEntry 3 }
        
            It is suggested that the version number consist of one or
            more decimal numbers separated by dots, where the first
            number is called the major version number."
       ::= { smLangEntry 3 }
        

smLangVendor OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "An object identifier which identifies the vendor who provides the implementation of the language. This object identifier SHALL point to the object identifier directly below the enterprise object identifier {1 3 6 1 4 1} allocated for the vendor. The value must be the object identifier {0 0} if the vendor is not known."

smLangVendor对象类型语法对象标识符MAX-ACCESS只读状态当前描述“标识提供语言实现的供应商的对象标识符。此对象标识符应指向企业对象标识符{1 3 6 1 4 1}正下方的对象标识符。”已为供应商分配。如果供应商未知,则该值必须是对象标识符{0}。”

       ::= { smLangEntry 4 }
        
       ::= { smLangEntry 4 }
        

smLangRevision OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32)) MAX-ACCESS read-only STATUS current DESCRIPTION "The version number of the language implementation. The value of this object must be an empty string if version number of the implementation is unknown.

smLangRevision对象类型语法SnmpAdminString(大小(0..32))MAX-ACCESS只读状态当前说明“语言实现的版本号。如果实现的版本号未知,则此对象的值必须为空字符串。

            It is suggested that the value consist of one or more
            decimal numbers separated by dots, where the first
            number is called the major version number."
       ::= { smLangEntry 5 }
        
            It is suggested that the value consist of one or more
            decimal numbers separated by dots, where the first
            number is called the major version number."
       ::= { smLangEntry 5 }
        
   smLangDescr OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "A textual description of the language."
       ::= { smLangEntry 6 }
        
   smLangDescr OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "A textual description of the language."
       ::= { smLangEntry 6 }
        
   smExtsnTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SmExtsnEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists supported language extensions."
       ::= { smObjects 2 }
        
   smExtsnTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SmExtsnEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists supported language extensions."
       ::= { smObjects 2 }
        
   smExtsnEntry OBJECT-TYPE
       SYNTAX      SmExtsnEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry describing a particular language extension."
       INDEX { smLangIndex, smExtsnIndex }
       ::= { smExtsnTable 1 }
        
   smExtsnEntry OBJECT-TYPE
       SYNTAX      SmExtsnEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry describing a particular language extension."
       INDEX { smLangIndex, smExtsnIndex }
       ::= { smExtsnTable 1 }
        
   SmExtsnEntry ::= SEQUENCE {
       smExtsnIndex        Integer32,
       smExtsnExtension    OBJECT IDENTIFIER,
       smExtsnVersion      SnmpAdminString,
       smExtsnVendor       OBJECT IDENTIFIER,
       smExtsnRevision     SnmpAdminString,
        
   SmExtsnEntry ::= SEQUENCE {
       smExtsnIndex        Integer32,
       smExtsnExtension    OBJECT IDENTIFIER,
       smExtsnVersion      SnmpAdminString,
       smExtsnVendor       OBJECT IDENTIFIER,
       smExtsnRevision     SnmpAdminString,
        

smExtsnDescr SnmpAdminString }

smExtsnDescr SNMPAdministring}

smExtsnIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The locally arbitrary, but unique identifier associated with this language extension entry.

smExtsnIndex对象类型语法整数32(1..2147483647)MAX-ACCESS不可访问状态当前描述“与此语言扩展项关联的本地任意但唯一的标识符。

            The value is expected to remain constant at least from one
            re-initialization of the entity's network management system
            to the next re-initialization."
       ::= { smExtsnEntry 1}
        
            The value is expected to remain constant at least from one
            re-initialization of the entity's network management system
            to the next re-initialization."
       ::= { smExtsnEntry 1}
        
   smExtsnExtension OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The globally unique identification of the language
            extension."
       ::= { smExtsnEntry 2 }
        
   smExtsnExtension OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The globally unique identification of the language
            extension."
       ::= { smExtsnEntry 2 }
        
   smExtsnVersion OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE (0..32))
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The version number of the language extension.
            It is suggested that the version number consist of one or
            more decimal numbers separated by dots, where the first
            number is called the major version number."
       ::= { smExtsnEntry 3 }
        
   smExtsnVersion OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE (0..32))
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The version number of the language extension.
            It is suggested that the version number consist of one or
            more decimal numbers separated by dots, where the first
            number is called the major version number."
       ::= { smExtsnEntry 3 }
        
   smExtsnVendor OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "An object identifier which identifies the vendor who
            provides the implementation of the extension. The
            object identifier value should point to the OID node
            directly below the enterprise OID {1 3 6 1 4 1}
            allocated for the vendor. The value must by the object
            identifier {0 0} if the vendor is not known."
       ::= { smExtsnEntry 4 }
        
   smExtsnVendor OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "An object identifier which identifies the vendor who
            provides the implementation of the extension. The
            object identifier value should point to the OID node
            directly below the enterprise OID {1 3 6 1 4 1}
            allocated for the vendor. The value must by the object
            identifier {0 0} if the vendor is not known."
       ::= { smExtsnEntry 4 }
        

smExtsnRevision OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32)) MAX-ACCESS read-only STATUS current DESCRIPTION "The version number of the extension implementation. The value of this object must be an empty string if version number of the implementation is unknown.

SMEXTSNRIVATION对象类型语法SnmpAdminString(大小(0..32))MAX-ACCESS只读状态当前说明“扩展实现的版本号。如果实现的版本号未知,则此对象的值必须为空字符串。

            It is suggested that the value consist of one or more
            decimal numbers separated by dots, where the first
            number is called the major version number."
       ::= { smExtsnEntry 5 }
        
            It is suggested that the value consist of one or more
            decimal numbers separated by dots, where the first
            number is called the major version number."
       ::= { smExtsnEntry 5 }
        
   smExtsnDescr OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "A textual description of the language extension."
       ::= { smExtsnEntry 6 }
        
   smExtsnDescr OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "A textual description of the language extension."
       ::= { smExtsnEntry 6 }
        
   --
   -- Scripts known by the Script MIB implementation.
   --
   -- This group defines a table which lists all known scripts.
   -- Scripts can be added and removed through manipulation of the
   -- smScriptTable.
   --
        
   --
   -- Scripts known by the Script MIB implementation.
   --
   -- This group defines a table which lists all known scripts.
   -- Scripts can be added and removed through manipulation of the
   -- smScriptTable.
   --
        
   smScriptObjects OBJECT IDENTIFIER ::= { smObjects 3 }
        
   smScriptObjects OBJECT IDENTIFIER ::= { smObjects 3 }
        
   smScriptTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SmScriptEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists and describes locally known scripts."
       ::= { smScriptObjects 1 }
        
   smScriptTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SmScriptEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists and describes locally known scripts."
       ::= { smScriptObjects 1 }
        

smScriptEntry OBJECT-TYPE SYNTAX SmScriptEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describing a particular script. Every script that is stored in non-volatile memory is required to appear in this script table."

smScriptEntry对象类型语法smScriptEntry MAX-ACCESS不可访问状态当前描述“描述特定脚本的条目。存储在非易失性内存中的每个脚本都需要显示在此脚本表中。”

       INDEX { smScriptOwner, smScriptName }
       ::= { smScriptTable 1 }
        
       INDEX { smScriptOwner, smScriptName }
       ::= { smScriptTable 1 }
        
   SmScriptEntry ::= SEQUENCE {
       smScriptOwner       SnmpAdminString,
       smScriptName        SnmpAdminString,
       smScriptDescr       SnmpAdminString,
       smScriptLanguage    Integer32,
       smScriptSource      DisplayString,
       smScriptAdminStatus INTEGER,
       smScriptOperStatus  INTEGER,
       smScriptStorageType StorageType,
       smScriptRowStatus   RowStatus,
       smScriptError       SnmpAdminString,
       smScriptLastChange  DateAndTime
   }
        
   SmScriptEntry ::= SEQUENCE {
       smScriptOwner       SnmpAdminString,
       smScriptName        SnmpAdminString,
       smScriptDescr       SnmpAdminString,
       smScriptLanguage    Integer32,
       smScriptSource      DisplayString,
       smScriptAdminStatus INTEGER,
       smScriptOperStatus  INTEGER,
       smScriptStorageType StorageType,
       smScriptRowStatus   RowStatus,
       smScriptError       SnmpAdminString,
       smScriptLastChange  DateAndTime
   }
        
   smScriptOwner OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE (0..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The manager who owns this row in the smScriptTable."
       ::= { smScriptEntry 1 }
        
   smScriptOwner OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE (0..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The manager who owns this row in the smScriptTable."
       ::= { smScriptEntry 1 }
        

smScriptName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (1..32)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The locally-unique, administratively assigned name for this script. This object allows an smScriptOwner to have multiple entries in the smScriptTable.

smScriptName对象类型语法SnmpAdminString(大小(1..32))MAX-ACCESS不可访问状态当前描述“此脚本的本地唯一管理分配名称。此对象允许smScriptOwner在smScriptTable中有多个条目。

            This value of this object may be used to derive the name
            (e.g. a file name) which is used by the Script MIB
            implementation to access the script in non-volatile
            storage. The details of this mapping are implementation
            specific. However, the mapping needs to ensure that scripts
            created by different owners with the same script name do not
            map to the same name in non-volatile storage."
       ::= { smScriptEntry 2 }
        
            This value of this object may be used to derive the name
            (e.g. a file name) which is used by the Script MIB
            implementation to access the script in non-volatile
            storage. The details of this mapping are implementation
            specific. However, the mapping needs to ensure that scripts
            created by different owners with the same script name do not
            map to the same name in non-volatile storage."
       ::= { smScriptEntry 2 }
        

smScriptDescr OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION

smScriptDescr对象类型语法SNMPAdministring MAX-ACCESS读取创建状态当前描述

           "A description of the purpose of the script."
       ::= { smScriptEntry 3 }
        
           "A description of the purpose of the script."
       ::= { smScriptEntry 3 }
        

smScriptLanguage OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-create STATUS current DESCRIPTION "The value of this object type identifies an entry in the smLangTable which is used to execute this script. The special value 0 may be used by hard-wired scripts that can not be modified and that are executed by internal functions.

smScriptLanguage对象类型语法整数32(0..2147483647)MAX-ACCESS read create STATUS current DESCRIPTION“此对象类型的值标识smLangTable中用于执行此脚本的条目。无法修改且由内部函数执行的硬连线脚本可以使用特殊值0。

Set requests to change this object are invalid if the value of smScriptOperStatus is `enabled' or `compiling' and will result in an inconsistentValue error.

如果smScriptOperStatus的值为“已启用”或“正在编译”,则更改此对象的Set请求无效,并将导致不一致的值错误。

            Note that the data type and the range of this object must
            be consistent with the definition of smLangIndex."
       ::= { smScriptEntry 4 }
        
            Note that the data type and the range of this object must
            be consistent with the definition of smLangIndex."
       ::= { smScriptEntry 4 }
        

smScriptSource OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "This object either contains a reference to the script source or an empty string. A reference must be given in the form of a Uniform Resource Locator (URL) as defined in RFC 2396. The allowed character sets and the encoding rules defined in RFC 2396 section 2 apply.

smScriptSource对象类型语法DisplayString MAX-ACCESS read create STATUS current DESCRIPTION“此对象包含对脚本源的引用或空字符串。引用必须以统一资源定位器(URL)的形式提供如RFC 2396中定义。RFC 2396第2节中定义的允许字符集和编码规则适用。

When the smScriptAdminStatus object is set to `enabled', the Script MIB implementation will `pull' the script source from the URL contained in this object if the URL is not empty.

当smScriptAdminStatus对象设置为“enabled”时,如果URL不为空,则脚本MIB实现将从此对象中包含的URL“拉”脚本源。

An empty URL indicates that the script source is loaded from local storage. The script is read from the smCodeTable if the value of smScriptStorageType is volatile. Otherwise, the script is read from non-volatile storage.

空URL表示脚本源是从本地存储加载的。如果smScriptStorageType的值为volatile,则从smCodeTable读取脚本。否则,脚本将从非易失性存储器中读取。

Note: This document does not mandate implementation of any specific URL scheme. An attempt to load a script from a nonsupported URL scheme will cause the smScriptOperStatus to report an `unknownProtocol' error.

注:本文件不强制执行任何特定的URL方案。尝试从不支持的URL方案加载脚本将导致smScriptOperStatus报告“unknownProtocol”错误。

            Set requests to change this object are invalid if the
            value of smScriptOperStatus is `enabled', `editing',
            `retrieving' or `compiling' and will result in an
            inconsistentValue error."
       DEFVAL { ''H }
       ::= { smScriptEntry 5 }
        
            Set requests to change this object are invalid if the
            value of smScriptOperStatus is `enabled', `editing',
            `retrieving' or `compiling' and will result in an
            inconsistentValue error."
       DEFVAL { ''H }
       ::= { smScriptEntry 5 }
        
   smScriptAdminStatus OBJECT-TYPE
       SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2),
                       editing(3)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of this object indicates the desired status of
            the script. See the definition of smScriptOperStatus for
            a description of the values.
        
   smScriptAdminStatus OBJECT-TYPE
       SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2),
                       editing(3)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of this object indicates the desired status of
            the script. See the definition of smScriptOperStatus for
            a description of the values.
        
            When the smScriptAdminStatus object is set to `enabled' and
            the smScriptOperStatus is `disabled' or one of the error
            states, the Script MIB implementation will `pull' the script
            source from the URL contained in the smScriptSource object
            if the URL is not empty."
       DEFVAL { disabled }
       ::= { smScriptEntry 6 }
        
            When the smScriptAdminStatus object is set to `enabled' and
            the smScriptOperStatus is `disabled' or one of the error
            states, the Script MIB implementation will `pull' the script
            source from the URL contained in the smScriptSource object
            if the URL is not empty."
       DEFVAL { disabled }
       ::= { smScriptEntry 6 }
        
   smScriptOperStatus OBJECT-TYPE
       SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2),
                       editing(3),
                       retrieving(4),
                       compiling(5),
                       noSuchScript(6),
                       accessDenied(7),
                       wrongLanguage(8),
                       wrongVersion(9),
                       compilationFailed(10),
                       noResourcesLeft(11),
                       unknownProtocol(12),
                       protocolFailure(13),
                       genericError(14)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
        
   smScriptOperStatus OBJECT-TYPE
       SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2),
                       editing(3),
                       retrieving(4),
                       compiling(5),
                       noSuchScript(6),
                       accessDenied(7),
                       wrongLanguage(8),
                       wrongVersion(9),
                       compilationFailed(10),
                       noResourcesLeft(11),
                       unknownProtocol(12),
                       protocolFailure(13),
                       genericError(14)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
        

"The actual status of the script in the runtime system. The value of this object is only meaningful when the value of the smScriptRowStatus object is `active'.

“运行时系统中脚本的实际状态。只有当smScriptRowStatus对象的值为'active'时,此对象的值才有意义。”。

The smScriptOperStatus object may have the following values:

smScriptOperStatus对象可能具有以下值:

- `enabled' indicates that the script is available and can be started by a launch table entry.

- `“已启用”表示脚本可用,可以通过启动表条目启动。

- `disabled' indicates that the script can not be used.

- `“已禁用”表示无法使用该脚本。

- `editing' indicates that the script can be modified in the smCodeTable.

- `“编辑”表示可以在smCodeTable中修改脚本。

- `retrieving' indicates that the script is currently being loaded from non-volatile storage or a remote system.

- `“检索”表示当前正在从非易失性存储或远程系统加载脚本。

- `compiling' indicates that the script is currently being compiled by the runtime system.

- `“正在编译”表示运行时系统当前正在编译脚本。

- `noSuchScript' indicates that the script does not exist at the smScriptSource.

- `noSuchScript'表示smScriptSource中不存在该脚本。

- `accessDenied' indicates that the script can not be loaded from the smScriptSource due to a lack of permissions.

- `accessDenied'表示由于缺乏权限,无法从smScriptSource加载脚本。

- `wrongLanguage' indicates that the script can not be loaded from the smScriptSource because of a language mismatch.

- `“错误语言”表示由于语言不匹配,无法从smScriptSource加载脚本。

- `wrongVersion' indicates that the script can not be loaded from the smScriptSource because of a language version mismatch.

- `“错误版本”表示由于语言版本不匹配,无法从smScriptSource加载脚本。

- `compilationFailed' indicates that the compilation failed.

- `compilationFailed'表示编译失败。

- `noResourcesLeft' indicates that the runtime system does not have enough resources to load the script.

- `noResourcesLeft'表示运行时系统没有足够的资源来加载脚本。

- `unknownProtocol' indicates that the script could not be loaded from the smScriptSource because the requested protocol is not supported.

- `unknownProtocol'表示无法从smScriptSource加载脚本,因为请求的协议不受支持。

- `protocolFailure' indicates that the script could not be loaded from the smScriptSource because of a protocol failure.

- `protocolFailure'表示由于协议故障,无法从smScriptSource加载脚本。

- `genericError' indicates that the script could not be

- `genericError'表示无法创建脚本

loaded due to an error condition not listed above.

由于上面未列出的错误条件而加载。

The `retrieving' and `compiling' states are transient states which will either lead to one of the error states or the `enabled' state. The `disabled' and `editing' states are administrative states which are only reached by explicit management operations.

“正在检索”和“正在编译”状态是瞬态状态,它们将导致一种错误状态或“已启用”状态。“禁用”和“编辑”状态是仅通过显式管理操作才能达到的管理状态。

            All launch table entries that refer to this script table
            entry shall have an smLaunchOperStatus value of `disabled'
            when the value of this object is not `enabled'."
       DEFVAL { disabled }
       ::= { smScriptEntry 7 }
        
            All launch table entries that refer to this script table
            entry shall have an smLaunchOperStatus value of `disabled'
            when the value of this object is not `enabled'."
       DEFVAL { disabled }
       ::= { smScriptEntry 7 }
        

smScriptStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This object defines whether this row and the script controlled by this row are kept in volatile storage and lost upon reboot or if this row is backed up by non-volatile or permanent storage.

smScriptStorageType OBJECT-TYPE语法StorageType MAX-ACCESS read create STATUS current DESCRIPTION“此对象定义此行和此行控制的脚本是否保存在易失性存储器中,并在重新启动时丢失,或者此行是否由非易失性或永久性存储器备份。

The storage type of this row always complies with the value of this entry if the value of the corresponding RowStatus object is `active'.

如果对应的RowStatus对象的值为“active”,则此行的存储类型始终符合此条目的值。

However, the storage type of the script controlled by this row may be different, if the value of this entry is `non-volatile'. The script controlled by this row is written into local non-volatile storage if the following condition becomes true:

但是,如果此项的值为“非易失性”,则此行控制的脚本的存储类型可能不同。如果以下条件变为真,则此行控制的脚本将写入本地非易失性存储器:

(a) the URL contained in the smScriptSource object is empty and (b) the smScriptStorageType is `nonVolatile' and (c) the smScriptOperStatus is `enabled'

(a) smScriptSource对象中包含的URL为空,(b)smScriptStorageType为“非易失性”,以及(c)SMScriptOperaStatus为“已启用”

Setting this object to `volatile' removes a script from non-volatile storage if the script controlled by this row has been in non-volatile storage before. Attempts to set this object to permanent will always fail with an inconsistentValue error.

如果此行控制的脚本以前在非易失性存储中,则将此对象设置为“volatile”会从非易失性存储中删除脚本。尝试将此对象设置为永久将始终失败,并出现值不一致错误。

The value of smScriptStorageType is only meaningful if the value of the corresponding RowStatus object is `active'.

smScriptStorageType的值只有在对应的RowStatus对象的值为“active”时才有意义。

            If smScriptStorageType has the value permanent(4), then all
            objects whose MAX-ACCESS value is read-create must be
            writable, with the exception of the smScriptStorageType and
            smScriptRowStatus objects, which shall be read-only."
       DEFVAL { volatile }
       ::= { smScriptEntry 8 }
        
            If smScriptStorageType has the value permanent(4), then all
            objects whose MAX-ACCESS value is read-create must be
            writable, with the exception of the smScriptStorageType and
            smScriptRowStatus objects, which shall be read-only."
       DEFVAL { volatile }
       ::= { smScriptEntry 8 }
        

smScriptRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "A control that allows entries to be added and removed from this table.

smScriptRowStatus对象类型语法RowStatus MAX-ACCESS read create STATUS current DESCRIPTION“允许在此表中添加和删除条目的控件。

Changing the smScriptRowStatus from `active' to `notInService' will remove the associated script from the runtime system.

将smScriptRowStatus从'active'更改为'notInService'将从运行时系统中删除关联的脚本。

Deleting conceptual rows from this table may affect the deletion of other resources associated with this row. For example, a script stored in non-volatile storage may be removed from non-volatile storage.

从该表中删除概念行可能会影响删除与该行关联的其他资源。例如,存储在非易失性存储器中的脚本可以从非易失性存储器中移除。

An entry may not exist in the `active' state unless all required objects in the entry have appropriate values. Rows that are not complete or not in service are not known by the script runtime system.

除非条目中的所有必需对象都具有适当的值,否则条目可能不存在处于“活动”状态。脚本运行时系统不知道未完成或未在服务中的行。

Attempts to `destroy' a row or to set a row `notInService' while the smScriptOperStatus is `enabled' will result in an inconsistentValue error.

当smScriptOperStatus为“enabled”时,尝试“销毁”行或将行设置为“notInService”将导致值不一致错误。

Attempts to `destroy' a row or to set a row `notInService' where the value of the smScriptStorageType object is `permanent' or `readOnly' will result in an inconsistentValue error.

如果smScriptStorageType对象的值为“永久”或“只读”,则尝试“销毁”行或将行设置为“notInService”,将导致不一致的值错误。

            The value of this object has no effect on whether other
            objects in this conceptual row can be modified."
       ::= { smScriptEntry 9 }
        
            The value of this object has no effect on whether other
            objects in this conceptual row can be modified."
       ::= { smScriptEntry 9 }
        

smScriptError OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains a descriptive error message if the

smScriptError对象类型语法SNMPAdministring MAX-ACCESS只读状态当前描述“如果

            transition into the operational status `enabled' failed.
            Implementations must reset the error message to a
            zero-length string when a new attempt to change the
            script status to `enabled' is started."
       DEFVAL { ''H }
       ::= { smScriptEntry 10 }
        
            transition into the operational status `enabled' failed.
            Implementations must reset the error message to a
            zero-length string when a new attempt to change the
            script status to `enabled' is started."
       DEFVAL { ''H }
       ::= { smScriptEntry 10 }
        

smScriptLastChange OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The date and time when this script table entry was last modified. The value '0000000000000000'H is returned if the script table entry has not yet been modified.

smScriptLastChange对象类型语法DateAndTime MAX-ACCESS只读状态当前描述“上次修改此脚本表项的日期和时间。如果尚未修改脚本表项,则返回值“0000000000000000”。

            Note that the resetting of smScriptError is not considered
            a change of the script table entry."
       DEFVAL { '0000000000000000'H }
       ::= { smScriptEntry 11 }
        
            Note that the resetting of smScriptError is not considered
            a change of the script table entry."
       DEFVAL { '0000000000000000'H }
       ::= { smScriptEntry 11 }
        
   --
   -- Access to script code via SNMP
   --
   -- The smCodeTable allows script code to be read and modified
   -- via SNMP.
   --
        
   --
   -- Access to script code via SNMP
   --
   -- The smCodeTable allows script code to be read and modified
   -- via SNMP.
   --
        
   smCodeTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SmCodeEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table contains the script code for scripts that are
            written via SNMP write operations."
       ::= { smScriptObjects 2 }
        
   smCodeTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SmCodeEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table contains the script code for scripts that are
            written via SNMP write operations."
       ::= { smScriptObjects 2 }
        
   smCodeEntry OBJECT-TYPE
       SYNTAX      SmCodeEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry describing a particular fragment of a script."
       INDEX { smScriptOwner, smScriptName, smCodeIndex }
       ::= { smCodeTable 1 }
        
   smCodeEntry OBJECT-TYPE
       SYNTAX      SmCodeEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry describing a particular fragment of a script."
       INDEX { smScriptOwner, smScriptName, smCodeIndex }
       ::= { smCodeTable 1 }
        
   SmCodeEntry ::= SEQUENCE {
       smCodeIndex         Unsigned32,
        
   SmCodeEntry ::= SEQUENCE {
       smCodeIndex         Unsigned32,
        

smCodeText OCTET STRING, smCodeRowStatus RowStatus }

smCodeText八位字符串,smCodeRowStatus RowStatus}

   smCodeIndex OBJECT-TYPE
       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The index value identifying this code fragment."
       ::= { smCodeEntry 1 }
        
   smCodeIndex OBJECT-TYPE
       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The index value identifying this code fragment."
       ::= { smCodeEntry 1 }
        
   smCodeText OBJECT-TYPE
       SYNTAX      OCTET STRING (SIZE (1..1024))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The code that makes up a fragment of a script. The format
            of this code fragment depends on the script language which
            is identified by the associated smScriptLanguage object."
       ::= { smCodeEntry 2 }
        
   smCodeText OBJECT-TYPE
       SYNTAX      OCTET STRING (SIZE (1..1024))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The code that makes up a fragment of a script. The format
            of this code fragment depends on the script language which
            is identified by the associated smScriptLanguage object."
       ::= { smCodeEntry 2 }
        

smCodeRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "A control that allows entries to be added and removed from this table.

smCodeRowStatus对象类型语法RowStatus MAX-ACCESS read create STATUS current DESCRIPTION“允许在此表中添加和删除条目的控件。

            The value of this object has no effect on whether other
            objects in this conceptual row can be modified."
       ::= { smCodeEntry 3 }
        
            The value of this object has no effect on whether other
            objects in this conceptual row can be modified."
       ::= { smCodeEntry 3 }
        
   --
   -- Script execution.
   --
   -- This group defines tables which allow script execution to be
   -- initiated, suspended, resumed, and terminated.  It also provides
   -- a mechanism for keeping a history of recent script executions
   -- and their results.
   --
        
   --
   -- Script execution.
   --
   -- This group defines tables which allow script execution to be
   -- initiated, suspended, resumed, and terminated.  It also provides
   -- a mechanism for keeping a history of recent script executions
   -- and their results.
   --
        
   smRunObjects OBJECT IDENTIFIER ::= { smObjects 4 }
        
   smRunObjects OBJECT IDENTIFIER ::= { smObjects 4 }
        

smLaunchTable OBJECT-TYPE SYNTAX SEQUENCE OF SmLaunchEntry MAX-ACCESS not-accessible

SmLaunchEntry MAX-ACCESS的smLaunchTable对象类型语法序列不可访问

       STATUS      current
       DESCRIPTION
           "This table lists and describes scripts that are ready
            to be executed together with their parameters."
       ::= { smRunObjects 1 }
        
       STATUS      current
       DESCRIPTION
           "This table lists and describes scripts that are ready
            to be executed together with their parameters."
       ::= { smRunObjects 1 }
        
   smLaunchEntry OBJECT-TYPE
       SYNTAX      SmLaunchEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry describing a particular executable script."
       INDEX { smLaunchOwner, smLaunchName }
       ::= { smLaunchTable 1 }
        
   smLaunchEntry OBJECT-TYPE
       SYNTAX      SmLaunchEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry describing a particular executable script."
       INDEX { smLaunchOwner, smLaunchName }
       ::= { smLaunchTable 1 }
        
   SmLaunchEntry ::= SEQUENCE {
       smLaunchOwner               SnmpAdminString,
       smLaunchName                SnmpAdminString,
       smLaunchScriptOwner         SnmpAdminString,
       smLaunchScriptName          SnmpAdminString,
       smLaunchArgument            OCTET STRING,
       smLaunchMaxRunning          Unsigned32,
       smLaunchMaxCompleted        Unsigned32,
       smLaunchLifeTime            TimeInterval,
       smLaunchExpireTime          TimeInterval,
       smLaunchStart               Integer32,
       smLaunchControl             INTEGER,
       smLaunchAdminStatus         INTEGER,
       smLaunchOperStatus          INTEGER,
       smLaunchRunIndexNext        Integer32,
       smLaunchStorageType         StorageType,
       smLaunchRowStatus           RowStatus,
       smLaunchError               SnmpAdminString,
       smLaunchLastChange          DateAndTime,
       smLaunchRowExpireTime       TimeInterval
   }
        
   SmLaunchEntry ::= SEQUENCE {
       smLaunchOwner               SnmpAdminString,
       smLaunchName                SnmpAdminString,
       smLaunchScriptOwner         SnmpAdminString,
       smLaunchScriptName          SnmpAdminString,
       smLaunchArgument            OCTET STRING,
       smLaunchMaxRunning          Unsigned32,
       smLaunchMaxCompleted        Unsigned32,
       smLaunchLifeTime            TimeInterval,
       smLaunchExpireTime          TimeInterval,
       smLaunchStart               Integer32,
       smLaunchControl             INTEGER,
       smLaunchAdminStatus         INTEGER,
       smLaunchOperStatus          INTEGER,
       smLaunchRunIndexNext        Integer32,
       smLaunchStorageType         StorageType,
       smLaunchRowStatus           RowStatus,
       smLaunchError               SnmpAdminString,
       smLaunchLastChange          DateAndTime,
       smLaunchRowExpireTime       TimeInterval
   }
        

smLaunchOwner OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The manager who owns this row in the smLaunchTable. Every instance of a running script started from a particular entry in the smLaunchTable (i.e. entries in the smRunTable) will be owned by the same smLaunchOwner used to index the entry in the smLaunchTable. This owner is not necessarily the same as the owner of the script itself (smLaunchScriptOwner)."

smLaunchOwner对象类型语法SnmpAdminString(大小(0..32))MAX-ACCESS不可访问状态当前描述“在smLaunchTable中拥有此行的管理器。运行脚本的每个实例都从smLaunchTable中的特定项(即smRunTable中的项)开始)将由用于索引smLaunchTable中项的同一smLaunchOwner拥有。此所有者不一定与脚本本身的所有者(smLaunchScriptOwner)相同。“

       ::= { smLaunchEntry 1 }
        
       ::= { smLaunchEntry 1 }
        
   smLaunchName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE (1..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally-unique, administratively assigned name for this
            launch table entry. This object allows an smLaunchOwner to
            have multiple entries in the smLaunchTable. The smLaunchName
            is an arbitrary name that must be different from any other
            smLaunchTable entries with the same smLaunchOwner but can be
            the same as other entries in the smLaunchTable with
            different smLaunchOwner values. Note that the value of
            smLaunchName is not related in any way to the name of the
            script being launched."
       ::= { smLaunchEntry 2 }
        
   smLaunchName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE (1..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally-unique, administratively assigned name for this
            launch table entry. This object allows an smLaunchOwner to
            have multiple entries in the smLaunchTable. The smLaunchName
            is an arbitrary name that must be different from any other
            smLaunchTable entries with the same smLaunchOwner but can be
            the same as other entries in the smLaunchTable with
            different smLaunchOwner values. Note that the value of
            smLaunchName is not related in any way to the name of the
            script being launched."
       ::= { smLaunchEntry 2 }
        
   smLaunchScriptOwner OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE (0..32))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of this object in combination with the value of
            smLaunchScriptName identifies the script that can be
            launched from this smLaunchTable entry. Attempts to write
            this object will fail with an inconsistentValue error if
            the value of smLaunchOperStatus is `enabled'."
       ::= { smLaunchEntry 3 }
        
   smLaunchScriptOwner OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE (0..32))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of this object in combination with the value of
            smLaunchScriptName identifies the script that can be
            launched from this smLaunchTable entry. Attempts to write
            this object will fail with an inconsistentValue error if
            the value of smLaunchOperStatus is `enabled'."
       ::= { smLaunchEntry 3 }
        

smLaunchScriptName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "The value of this object in combination with the value of the smLaunchScriptOwner identifies the script that can be launched from this smLaunchTable entry. The zero-length string may be used to point to a non-existing script.

smLaunchScriptName对象类型语法SnmpAdminString(大小(0..32))MAX-ACCESS read create STATUS current DESCRIPTION“此对象的值与smLaunchScriptOwner的值一起标识可从此smLaunchTable条目启动的脚本。零长度字符串可用于指向不存在的脚本。

            Attempts to write this object will fail with an
            inconsistentValue error if the value of smLaunchOperStatus
            is `enabled'."
       DEFVAL { ''H }
       ::= { smLaunchEntry 4 }
        
            Attempts to write this object will fail with an
            inconsistentValue error if the value of smLaunchOperStatus
            is `enabled'."
       DEFVAL { ''H }
       ::= { smLaunchEntry 4 }
        

smLaunchArgument OBJECT-TYPE SYNTAX OCTET STRING

smLaunchArgument对象类型语法八位字节字符串

       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The argument supplied to the script. When a script is
            invoked, the value of this object is used to initialize
            the smRunArgument object."
       DEFVAL { ''H }
       ::= { smLaunchEntry 5 }
        
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The argument supplied to the script. When a script is
            invoked, the value of this object is used to initialize
            the smRunArgument object."
       DEFVAL { ''H }
       ::= { smLaunchEntry 5 }
        
   smLaunchMaxRunning OBJECT-TYPE
       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The maximum number of concurrently running scripts that may
            be invoked from this entry in the smLaunchTable. Lowering
            the current value of this object does not affect any scripts
            that are already executing."
       DEFVAL { 1 }
       ::= { smLaunchEntry 6 }
        
   smLaunchMaxRunning OBJECT-TYPE
       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The maximum number of concurrently running scripts that may
            be invoked from this entry in the smLaunchTable. Lowering
            the current value of this object does not affect any scripts
            that are already executing."
       DEFVAL { 1 }
       ::= { smLaunchEntry 6 }
        
   smLaunchMaxCompleted OBJECT-TYPE
       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The maximum number of finished scripts invoked from this
            entry in the smLaunchTable allowed to be retained in the
            smRunTable. Whenever the value of this object is changed
            and whenever a script terminates, entries in the smRunTable
            are deleted if necessary until the number of completed
            scripts is smaller than the value of this object. Scripts
            whose smRunEndTime value indicates the oldest completion
            time are deleted first."
       DEFVAL { 1 }
       ::= { smLaunchEntry 7 }
        
   smLaunchMaxCompleted OBJECT-TYPE
       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The maximum number of finished scripts invoked from this
            entry in the smLaunchTable allowed to be retained in the
            smRunTable. Whenever the value of this object is changed
            and whenever a script terminates, entries in the smRunTable
            are deleted if necessary until the number of completed
            scripts is smaller than the value of this object. Scripts
            whose smRunEndTime value indicates the oldest completion
            time are deleted first."
       DEFVAL { 1 }
       ::= { smLaunchEntry 7 }
        

smLaunchLifeTime OBJECT-TYPE SYNTAX TimeInterval UNITS "centi-seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The default maximum amount of time a script launched from this entry may run. The value of this object is used to initialize the smRunLifeTime object when a script is launched. Changing the value of an smLaunchLifeTime instance does not affect scripts previously launched from

smLaunchLifeTime对象类型语法时间间隔单位“厘米秒”最大访问读取创建状态当前说明“从该条目启动的脚本可以运行的默认最长时间。此对象的值用于在启动脚本时初始化smRunLifeTime对象。更改smLaunchLifeTime实例的值不会影响以前从启动的脚本

            this entry."
       DEFVAL { 360000 }
       ::= { smLaunchEntry 8 }
        
            this entry."
       DEFVAL { 360000 }
       ::= { smLaunchEntry 8 }
        
   smLaunchExpireTime OBJECT-TYPE
       SYNTAX      TimeInterval
       UNITS       "centi-seconds"
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The default maximum amount of time information about a
            script launched from this entry is kept in the smRunTable
            after the script has completed execution.  The value of
            this object is used to initialize the smRunExpireTime
            object when a script is launched. Changing the value of an
            smLaunchExpireTime instance does not affect scripts
            previously launched from this entry."
       DEFVAL { 360000 }
       ::= { smLaunchEntry 9 }
        
   smLaunchExpireTime OBJECT-TYPE
       SYNTAX      TimeInterval
       UNITS       "centi-seconds"
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The default maximum amount of time information about a
            script launched from this entry is kept in the smRunTable
            after the script has completed execution.  The value of
            this object is used to initialize the smRunExpireTime
            object when a script is launched. Changing the value of an
            smLaunchExpireTime instance does not affect scripts
            previously launched from this entry."
       DEFVAL { 360000 }
       ::= { smLaunchEntry 9 }
        

smLaunchStart OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-create STATUS current DESCRIPTION "This object is used to start the execution of scripts. When retrieved, the value will be the value of smRunIndex for the last script that started execution by manipulating this object. The value will be zero if no script started execution yet.

smLaunchStart对象类型语法整数32(0..2147483647)MAX-ACCESS读取创建状态当前说明“此对象用于启动脚本的执行。检索时,该值将是通过操作此对象开始执行的最后一个脚本的smRunIndex值。如果尚未开始执行脚本,则该值将为零。

A script is started by setting this object to an unused smRunIndex value. A new row in the smRunTable will be created which is indexed by the value supplied by the set-request in addition to the value of smLaunchOwner and smLaunchName. An unused value can be obtained by reading the smLaunchRunIndexNext object.

通过将此对象设置为未使用的SMRUNIDEX值来启动脚本。将在smRunTable中创建一个新行,该新行除smLaunchOwner和smLaunchName的值外,还通过set请求提供的值进行索引。通过读取smLaunchRunIndexNext对象可以获得未使用的值。

Setting this object to the special value 0 will start the script with a self-generated smRunIndex value. The consequence is that the script invoker has no reliable way to determine the smRunIndex value for this script invocation and that the invoker has therefore no way to obtain the results from this script invocation. The special value 0 is however useful for scheduled script invocations.

将此对象设置为特殊值0将使用自行生成的smRunIndex值启动脚本。结果是,脚本调用程序没有可靠的方法来确定此脚本调用的smRunIndex值,因此调用程序无法从该脚本调用中获得结果。但是,特殊值0对于计划的脚本调用非常有用。

If this object is set, the following checks must be

如果设置了此对象,则必须执行以下检查

performed:

执行:

1) The value of the smLaunchOperStatus object in this entry of the smLaunchTable must be `enabled'. 2) The values of smLaunchScriptOwner and smLaunchScriptName of this row must identify an existing entry in the smScriptTable. 3) The value of smScriptOperStatus of this entry must be `enabled'. 4) The principal performing the set operation must have read access to the script. This must be checked by calling the isAccessAllowed abstract service interface defined in RFC 2271 on the row in the smScriptTable identified by smLaunchScriptOwner and smLaunchScriptName. The isAccessAllowed abstract service interface must be called on all columnar objects in the smScriptTable with a MAX-ACCESS value different than `not-accessible'. The test fails as soon as a call indicates that access is not allowed. 5) If the value provided by the set operation is not 0, a check must be made that the value is currently not in use. Otherwise, if the value provided by the set operation is 0, a suitable unused value must be generated. 6) The number of currently executing scripts invoked from this smLaunchTable entry must be less than smLaunchMaxRunning.

1) smLaunchTable的此项中的smLaunchOperStatus对象的值必须为“enabled”。2) 此行的smLaunchScriptOwner和smLaunchScriptName的值必须标识smScriptTable中的现有条目。3) 此条目的smScriptOperStatus值必须为“enabled”。4) 执行set操作的主体必须具有脚本的读取权限。必须通过在smLaunchScriptOwner和smLaunchScriptName标识的smScriptTable中的行上调用RFC 2271中定义的isAccessAllowed抽象服务接口来检查这一点。必须在smScriptTable中的所有列对象上调用isAccessAllowed抽象服务接口,其MAX-ACCESS值不同于“不可访问”。一旦呼叫指示不允许访问,测试就会失败。5) 如果设置操作提供的值不是0,则必须检查该值当前未被使用。否则,如果设置操作提供的值为0,则必须生成合适的未使用值。6) 从该smLaunchTable项调用的当前正在执行的脚本数必须小于smLaunchMaxRunning。

Attempts to start a script will fail with an inconsistentValue error if one of the checks described above fails.

如果上述检查之一失败,则尝试启动脚本将失败,并出现值不一致错误。

Otherwise, if all checks have been passed, a new entry in the smRunTable will be created indexed by smLaunchOwner, smLaunchName and the new value for smRunIndex. The value of smLaunchArgument will be copied into smRunArgument, the value of smLaunchLifeTime will be copied to smRunLifeTime, and the value of smLaunchExpireTime will be copied to smRunExpireTime.

否则,如果已通过所有检查,则smRunTable中的新条目将由smLaunchOwner、smLaunchName和smRunIndex的新值创建索引。smLaunchArgument的值将复制到smRunArgument,smLaunchLifeTime的值将复制到smRunLifeTime,smLaunchExpireTime的值将复制到smRunExpireTime。

The smRunStartTime will be set to the current time and the smRunState will be set to `initializing' before the script execution is initiated in the appropriate runtime system.

在适当的运行时系统中启动脚本执行之前,smRunStartTime将设置为当前时间,smRunState将设置为“初始化”。

Note that the data type and the range of this object must be consistent with the smRunIndex object. Since this object might be written from the scheduling MIB, the

请注意,此对象的数据类型和范围必须与smRunIndex对象一致。由于此对象可能是从调度MIB写入的,因此

            data type Integer32 rather than Unsigned32 is used."
       DEFVAL { 0 }
       ::= { smLaunchEntry 10 }
        
            data type Integer32 rather than Unsigned32 is used."
       DEFVAL { 0 }
       ::= { smLaunchEntry 10 }
        
   smLaunchControl OBJECT-TYPE
       SYNTAX      INTEGER {
                       abort(1),
                       suspend(2),
                       resume(3),
                       nop(4)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object is used to request a state change for all
            running scripts in the smRunTable that were started from
            this row in the smLaunchTable.
        
   smLaunchControl OBJECT-TYPE
       SYNTAX      INTEGER {
                       abort(1),
                       suspend(2),
                       resume(3),
                       nop(4)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object is used to request a state change for all
            running scripts in the smRunTable that were started from
            this row in the smLaunchTable.
        

Setting this object to abort(1), suspend(2) or resume(3) will set the smRunControl object of all applicable rows in the smRunTable to abort(1), suspend(2) or resume(3) respectively. The phrase `applicable rows' means the set of rows which were created from this entry in the smLaunchTable and whose value of smRunState allows the corresponding state change as described in the definition of the smRunControl object. Setting this object to nop(4) has no effect.

将此对象设置为abort(1)、suspend(2)或resume(3)将分别将smRunTable中所有适用行的smRunControl对象设置为abort(1)、suspend(2)或resume(3)。短语“适用行”是指根据smLaunchTable中的此条目创建的行集,其smRunState值允许按照smRunControl对象定义中的描述进行相应的状态更改。将此对象设置为nop(4)无效。

            Attempts to set this object lead to an inconsistentValue
            error only if all implicated sets on all the applicable
            rows lead to inconsistentValue errors. It is not allowed
            to return an inconsistentValue error if at least one state
            change on one of the applicable rows was successful."
       DEFVAL { nop }
       ::= { smLaunchEntry 11 }
        
            Attempts to set this object lead to an inconsistentValue
            error only if all implicated sets on all the applicable
            rows lead to inconsistentValue errors. It is not allowed
            to return an inconsistentValue error if at least one state
            change on one of the applicable rows was successful."
       DEFVAL { nop }
       ::= { smLaunchEntry 11 }
        
   smLaunchAdminStatus OBJECT-TYPE
       SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2),
                       autostart(3)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of this object indicates the desired status of
            this launch table entry. The values enabled(1) and
            autostart(3) both indicate that the launch table entry
        
   smLaunchAdminStatus OBJECT-TYPE
       SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2),
                       autostart(3)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of this object indicates the desired status of
            this launch table entry. The values enabled(1) and
            autostart(3) both indicate that the launch table entry
        

should transition into the operational enabled(1) state as soon as the associated script table entry is enabled(1).

应在关联的脚本表条目启用(1)后立即转换为操作启用(1)状态。

            The value autostart(3) further indicates that the script
            is started automatically by conceptually writing the
            value 0 into the associated smLaunchStart object during
            the transition from the `disabled' into the `enabled'
            operational state. This is useful for scripts that are
            to be launched on system start-up."
       DEFVAL { disabled }
       ::= { smLaunchEntry 12 }
        
            The value autostart(3) further indicates that the script
            is started automatically by conceptually writing the
            value 0 into the associated smLaunchStart object during
            the transition from the `disabled' into the `enabled'
            operational state. This is useful for scripts that are
            to be launched on system start-up."
       DEFVAL { disabled }
       ::= { smLaunchEntry 12 }
        
   smLaunchOperStatus OBJECT-TYPE
       SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2),
                       expired(3)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of this object indicates the actual status of
            this launch table entry.  The smLaunchOperStatus object
            may have the following values:
        
   smLaunchOperStatus OBJECT-TYPE
       SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2),
                       expired(3)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of this object indicates the actual status of
            this launch table entry.  The smLaunchOperStatus object
            may have the following values:
        

- `enabled' indicates that the launch table entry is available and can be used to start scripts.

- `“已启用”表示启动表条目可用,可用于启动脚本。

- `disabled' indicates that the launch table entry can not be used to start scripts.

- `“禁用”表示启动表项不能用于启动脚本。

- `expired' indicates that the launch table entry can not be used to start scripts and will disappear as soon as all smRunTable entries associated with this launch table entry have disappeared.

- `“expired”表示启动表项不能用于启动脚本,并将在与此启动表项关联的所有smRunTable项消失后立即消失。

            The value `enabled' requires that the smLaunchRowStatus
            object is active. The value `disabled' requires that there
            are no entries in the smRunTable associated with this
            smLaunchTable entry."
       DEFVAL { disabled }
       ::= { smLaunchEntry 13 }
        
            The value `enabled' requires that the smLaunchRowStatus
            object is active. The value `disabled' requires that there
            are no entries in the smRunTable associated with this
            smLaunchTable entry."
       DEFVAL { disabled }
       ::= { smLaunchEntry 13 }
        

smLaunchRunIndexNext OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION

smLaunchRunIndexNext对象类型语法整数32(1..2147483647)最大访问只读状态当前说明

"This variable is used for creating rows in the smRunTable. The value of this variable is a currently unused value for smRunIndex, which can be written into the smLaunchStart object associated with this row to launch a script.

此变量用于在smRunTable中创建行。此变量的值是smRunIndex当前未使用的值,可以将其写入与此行关联的smLaunchStart对象以启动脚本。

The value returned when reading this variable must be unique for the smLaunchOwner and smLaunchName associated with this row. Subsequent attempts to read this variable must return different values.

读取此变量时返回的值对于与此行关联的smLaunchOwner和smLaunchName必须是唯一的。后续读取此变量的尝试必须返回不同的值。

This variable will return the special value 0 if no new rows can be created.

如果无法创建新行,此变量将返回特殊值0。

            Note that the data type and the range of this object must be
            consistent with the definition of smRunIndex."
       ::= { smLaunchEntry 14 }
        
            Note that the data type and the range of this object must be
            consistent with the definition of smRunIndex."
       ::= { smLaunchEntry 14 }
        

smLaunchStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This object defines if this row is kept in volatile storage and lost upon reboot or if this row is backed up by stable storage.

smLaunchStorageType对象类型语法StorageType MAX-ACCESS读取创建状态当前描述“此对象定义此行是否保存在易失性存储中并在重新启动时丢失,或者此行是否由稳定存储备份。

The value of smLaunchStorageType is only meaningful if the value of the corresponding RowStatus object is active.

smLaunchStorageType的值只有在对应的RowStatus对象的值处于活动状态时才有意义。

            If smLaunchStorageType has the value permanent(4), then all
            objects whose MAX-ACCESS value is read-create must be
            writable, with the exception of the smLaunchStorageType and
            smLaunchRowStatus objects, which shall be read-only."
       DEFVAL { volatile }
       ::= { smLaunchEntry 15 }
        
            If smLaunchStorageType has the value permanent(4), then all
            objects whose MAX-ACCESS value is read-create must be
            writable, with the exception of the smLaunchStorageType and
            smLaunchRowStatus objects, which shall be read-only."
       DEFVAL { volatile }
       ::= { smLaunchEntry 15 }
        

smLaunchRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "A control that allows entries to be added and removed from this table.

smLaunchRowStatus对象类型语法RowStatus MAX-ACCESS read create STATUS current DESCRIPTION“允许在此表中添加和删除条目的控件。

Attempts to `destroy' a row or to set a row `notInService' while the smLaunchOperStatus is `enabled' will result in an inconsistentValue error.

smLaunchOperStatus为“enabled”时,尝试“销毁”行或将行设置为“notInService”将导致值不一致错误。

Attempts to `destroy' a row or to set a row `notInService' where the value of the smLaunchStorageType object is `permanent' or `readOnly' will result in an inconsistentValue error.

如果smLaunchStorageType对象的值为“永久”或“只读”,则尝试“销毁”行或将行设置为“notInService”,将导致不一致的值错误。

            The value of this object has no effect on whether other
            objects in this conceptual row can be modified."
       ::= { smLaunchEntry 16 }
        
            The value of this object has no effect on whether other
            objects in this conceptual row can be modified."
       ::= { smLaunchEntry 16 }
        
   smLaunchError OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object contains a descriptive error message if an
            attempt to launch a script fails. Implementations must reset
            the error message to a zero-length string when a new attempt
            to launch a script is started."
       DEFVAL { ''H }
       ::= { smLaunchEntry 17 }
        
   smLaunchError OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object contains a descriptive error message if an
            attempt to launch a script fails. Implementations must reset
            the error message to a zero-length string when a new attempt
            to launch a script is started."
       DEFVAL { ''H }
       ::= { smLaunchEntry 17 }
        

smLaunchLastChange OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The date and time when this launch table entry was last modified. The value '0000000000000000'H is returned if the launch table entry has not yet been modified.

smLaunchLastChange对象类型语法DateAndTime MAX-ACCESS只读状态当前描述“上次修改此启动表项的日期和时间。如果尚未修改启动表项,则返回值“0000000000000000”。

            Note that a change of smLaunchStart, smLaunchControl,
            smLaunchRunIndexNext, smLaunchRowExpireTime, or the
            resetting of smLaunchError is not considered a change
            of this launch table entry."
       DEFVAL { '0000000000000000'H }
       ::= { smLaunchEntry 18 }
        
            Note that a change of smLaunchStart, smLaunchControl,
            smLaunchRunIndexNext, smLaunchRowExpireTime, or the
            resetting of smLaunchError is not considered a change
            of this launch table entry."
       DEFVAL { '0000000000000000'H }
       ::= { smLaunchEntry 18 }
        

smLaunchRowExpireTime OBJECT-TYPE SYNTAX TimeInterval UNITS "centi-seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The value of this object specifies how long this row remains in the `enabled' or `disabled' operational state. The value reported by this object ticks backwards. When the value reaches 0, it stops ticking backward and the row is deleted if there are no smRunTable entries associated with

smLaunchRowExpireTime对象类型语法时间间隔单位“厘米秒”最大访问读取创建状态当前说明“此对象的值指定此行处于“已启用”或“已禁用”操作状态的时间。此对象报告的值向后勾选。当该值达到0时,它停止向后勾选,如果没有与之关联的smRunTable条目,则删除该行

this smLaunchTable entry. Otherwise, the smLaunchOperStatus changes to `expired' and the row deletion is deferred until there are no smRunTable entries associated with this smLaunchTable entry.

此smLaunchTable条目无效。否则,smLaunchOperStatus将更改为“expired”,并延迟行删除,直到没有与此smLaunchTable项关联的smRunTable项为止。

The smLaunchRowExpireTime will not tick backwards if it is set to its maximum value (2147483647). In other words, setting this object to its maximum value turns the timer off.

如果smLaunchRowExpireTime设置为其最大值(2147483647),则它不会向后勾选。换句话说,将此对象设置为其最大值将关闭计时器。

The value of this object may be set in order to increase or reduce the remaining time that the launch table entry may be used. Setting the value to 0 will cause an immediate row deletion or transition into the `expired' operational state.

可以设置此对象的值,以增加或减少可使用启动表条目的剩余时间。将该值设置为0将导致立即删除行或转换为“过期”操作状态。

It is not possible to set this object while the operational status is `expired'. Attempts to modify this object while the operational status is `expired' leads to an inconsistentValue error.

当操作状态为“过期”时,无法设置此对象。在操作状态为“过期”时尝试修改此对象会导致值不一致错误。

            Note that the timer ticks backwards independent of the
            operational state of the launch table entry."
       DEFVAL { 2147483647 }
       ::= { smLaunchEntry 19 }
        
            Note that the timer ticks backwards independent of the
            operational state of the launch table entry."
       DEFVAL { 2147483647 }
       ::= { smLaunchEntry 19 }
        
   smRunTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SmRunEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists and describes scripts that are currently
            running or have been running in the past."
       ::= { smRunObjects 2 }
        
   smRunTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SmRunEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists and describes scripts that are currently
            running or have been running in the past."
       ::= { smRunObjects 2 }
        
   smRunEntry OBJECT-TYPE
       SYNTAX      SmRunEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry describing a particular running or finished
            script."
       INDEX { smLaunchOwner, smLaunchName, smRunIndex }
       ::= { smRunTable 1 }
        
   smRunEntry OBJECT-TYPE
       SYNTAX      SmRunEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry describing a particular running or finished
            script."
       INDEX { smLaunchOwner, smLaunchName, smRunIndex }
       ::= { smRunTable 1 }
        
   SmRunEntry ::= SEQUENCE {
       smRunIndex          Integer32,
        
   SmRunEntry ::= SEQUENCE {
       smRunIndex          Integer32,
        

smRunArgument OCTET STRING, smRunStartTime DateAndTime, smRunEndTime DateAndTime, smRunLifeTime TimeInterval, smRunExpireTime TimeInterval, smRunExitCode INTEGER, smRunResult OCTET STRING, smRunControl INTEGER, smRunState INTEGER, smRunError SnmpAdminString, smRunResultTime DateAndTime, smRunErrorTime DateAndTime }

smRunArgument八位字节字符串、smRunStartTime日期和时间、smRunEndTime日期和时间、smRunLifeTime时间间隔、smRunExpireTime时间间隔、smRunExitCode整数、smRunResult八位字节字符串、smRunControl整数、smRunState整数、smRunError SNMPAdministring、smRunResultTime日期和时间、smRunErrorTime日期和时间}

smRunIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The locally arbitrary, but unique identifier associated with this running or finished script. This value must be unique for all rows in the smRunTable with the same smLaunchOwner and smLaunchName.

smRunIndex对象类型语法整数32(1..2147483647)MAX-ACCESS不可访问状态当前描述“与此正在运行或已完成的脚本关联的本地任意但唯一的标识符。此值对于smRunTable中具有相同smLaunchOwner和smLaunchName的所有行都必须是唯一的。

            Note that the data type and the range of this object must
            be consistent with the definition of smLaunchRunIndexNext
            and smLaunchStart."
       ::= { smRunEntry 1 }
        
            Note that the data type and the range of this object must
            be consistent with the definition of smLaunchRunIndexNext
            and smLaunchStart."
       ::= { smRunEntry 1 }
        
   smRunArgument OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The argument supplied to the script when it started."
       DEFVAL { ''H }
       ::= { smRunEntry 2 }
        
   smRunArgument OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The argument supplied to the script when it started."
       DEFVAL { ''H }
       ::= { smRunEntry 2 }
        
   smRunStartTime OBJECT-TYPE
       SYNTAX      DateAndTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The date and time when the execution started. The value
            '0000000000000000'H is returned if the script has not
            started yet."
       DEFVAL { '0000000000000000'H }
       ::= { smRunEntry 3 }
        
   smRunStartTime OBJECT-TYPE
       SYNTAX      DateAndTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The date and time when the execution started. The value
            '0000000000000000'H is returned if the script has not
            started yet."
       DEFVAL { '0000000000000000'H }
       ::= { smRunEntry 3 }
        
   smRunEndTime OBJECT-TYPE
       SYNTAX      DateAndTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The date and time when the execution terminated. The value
            '0000000000000000'H is returned if the script has not
            terminated yet."
       DEFVAL { '0000000000000000'H }
       ::= { smRunEntry 4 }
        
   smRunEndTime OBJECT-TYPE
       SYNTAX      DateAndTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The date and time when the execution terminated. The value
            '0000000000000000'H is returned if the script has not
            terminated yet."
       DEFVAL { '0000000000000000'H }
       ::= { smRunEntry 4 }
        

smRunLifeTime OBJECT-TYPE SYNTAX TimeInterval UNITS "centi-seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies how long the script can execute. This object returns the remaining time that the script may run. The object is initialized with the value of the associated smLaunchLifeTime object and ticks backwards. The script is aborted immediately when the value reaches 0.

smRunLifeTime对象类型语法时间间隔单位“厘米秒”最大访问读写状态当前说明“此对象指定脚本可以执行的时间。此对象返回脚本可能运行的剩余时间。使用关联的smLaunchLifeTime对象的值初始化该对象,并向后勾选。当值达到0时,脚本将立即中止。

The value of this object may be set in order to increase or reduce the remaining time that the script may run. Setting this value to 0 will abort script execution immediately, and, if the value of smRunExpireTime is also 0, will remove this entry from the smRunTable once it has terminated.

可以设置此对象的值以增加或减少脚本可能运行的剩余时间。将此值设置为0将立即中止脚本执行,如果smRunExpireTime的值也为0,则将在终止后从smRunTable中删除此项。

If smRunLifeTime is set to its maximum value (2147483647), either by a set operation or by its initialization from the smLaunchLifeTime object, then it will not tick backwards. A running script with a maximum smRunLifeTime value will thus never be terminated with a `lifeTimeExceeded' exit code.

如果通过set操作或通过从smLaunchLifeTime对象初始化smRunLifeTime将其设置为最大值(2147483647),则它不会向后勾选。因此,具有最大smRunLifeTime值的正在运行的脚本将永远不会以“LifeTimeExtered”退出代码终止。

The value of smRunLifeTime reflects the real-time execution time as seen by the outside world. The value of this object will always be 0 for a script that finished execution, that is smRunState has the value `terminated'.

SMRUNLifest的值反映了外界看到的实时执行时间。对于已完成执行的脚本,此对象的值始终为0,即smRunState的值为'terminated'。

            The value of smRunLifeTime does not change while a script
            is suspended, that is smRunState has the value `suspended'.
            Note that this does not affect set operations. It is legal
            to modify smRunLifeTime via set operations while a script
            is suspended."
       ::= { smRunEntry 5 }
        
            The value of smRunLifeTime does not change while a script
            is suspended, that is smRunState has the value `suspended'.
            Note that this does not affect set operations. It is legal
            to modify smRunLifeTime via set operations while a script
            is suspended."
       ::= { smRunEntry 5 }
        

smRunExpireTime OBJECT-TYPE SYNTAX TimeInterval UNITS "centi-seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The value of this object specifies how long this row can exist in the smRunTable after the script has terminated. This object returns the remaining time that the row may exist before it is aged out. The object is initialized with the value of the associated smLaunchExpireTime object and ticks backwards. The entry in the smRunTable is destroyed when the value reaches 0 and the smRunState has the value `terminated'.

smRunExpireTime对象类型语法时间间隔单位“厘米秒”最大访问读写状态当前说明“此对象的值指定脚本终止后,该行在smRunTable中可以存在多长时间。此对象返回行在过期之前可能存在的剩余时间。使用关联的smLaunchExpireTime对象的值初始化该对象,并向后勾选。当值达到0且smRunState的值为“terminated”时,smRunTable中的条目将被销毁。

            The value of this object may be set in order to increase or
            reduce the remaining time that the row may exist.  Setting
            the value to 0 will destroy this entry as soon as the
            smRunState has the value `terminated'."
       ::= { smRunEntry 6 }
        
            The value of this object may be set in order to increase or
            reduce the remaining time that the row may exist.  Setting
            the value to 0 will destroy this entry as soon as the
            smRunState has the value `terminated'."
       ::= { smRunEntry 6 }
        
   smRunExitCode OBJECT-TYPE
       SYNTAX      INTEGER {
                       noError(1),
                       halted(2),
                       lifeTimeExceeded(3),
                       noResourcesLeft(4),
                       languageError(5),
                       runtimeError(6),
                       invalidArgument(7),
                       securityViolation(8),
                       genericError(9)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of this object indicates the reason why a
            script finished execution. The smRunExitCode code may have
            one of the following values:
        
   smRunExitCode OBJECT-TYPE
       SYNTAX      INTEGER {
                       noError(1),
                       halted(2),
                       lifeTimeExceeded(3),
                       noResourcesLeft(4),
                       languageError(5),
                       runtimeError(6),
                       invalidArgument(7),
                       securityViolation(8),
                       genericError(9)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of this object indicates the reason why a
            script finished execution. The smRunExitCode code may have
            one of the following values:
        

- `noError', which indicates that the script completed successfully without errors;

- `noError',表示脚本成功完成,没有错误;

- `halted', which indicates that the script was halted by a request from an authorized manager;

- `“已暂停”,表示脚本因授权经理的请求而暂停;

- `lifeTimeExceeded', which indicates that the script exited because a time limit was exceeded;

- `LifetimeExtered',表示脚本退出是因为超过了时间限制;

- `noResourcesLeft', which indicates that the script exited because it ran out of resources (e.g. memory);

- `noResourcesLeft',表示脚本因资源(如内存)不足而退出;

- `languageError', which indicates that the script exited because of a language error (e.g. a syntax error in an interpreted language);

- `languageError',表示脚本由于语言错误(例如解释语言中的语法错误)而退出;

- `runtimeError', which indicates that the script exited due to a runtime error (e.g. a division by zero);

- `runtimeError',表示脚本由于运行时错误(例如被零除)而退出;

- `invalidArgument', which indicates that the script could not be run because of invalid script arguments;

- `invalidArgument',表示由于脚本参数无效而无法运行脚本;

- `securityViolation', which indicates that the script exited due to a security violation;

- `securityViolation',表示脚本由于安全冲突而退出;

- `genericError', which indicates that the script exited for an unspecified reason.

- `genericError',表示脚本因未指定的原因退出。

            If the script has not yet begun running, or is currently
            running, the value will be `noError'."
       DEFVAL { noError }
       ::= { smRunEntry 7 }
        
            If the script has not yet begun running, or is currently
            running, the value will be `noError'."
       DEFVAL { noError }
       ::= { smRunEntry 7 }
        
   smRunResult OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The result value produced by the running script. Note that
            the result may change while the script is executing."
       DEFVAL { ''H }
       ::= { smRunEntry 8 }
        
   smRunResult OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The result value produced by the running script. Note that
            the result may change while the script is executing."
       DEFVAL { ''H }
       ::= { smRunEntry 8 }
        
   smRunControl OBJECT-TYPE
       SYNTAX      INTEGER {
                       abort(1),
                       suspend(2),
                       resume(3),
                       nop(4)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The value of this object indicates the desired status of the
            script execution defined by this row.
        
   smRunControl OBJECT-TYPE
       SYNTAX      INTEGER {
                       abort(1),
                       suspend(2),
                       resume(3),
                       nop(4)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The value of this object indicates the desired status of the
            script execution defined by this row.
        

Setting this object to `abort' will abort execution if the

如果

value of smRunState is `initializing', `executing', `suspending', `suspended' or `resuming'. Setting this object to `abort' when the value of smRunState is `aborting' or `terminated', or if the implementation can determine that the attempt to abort the execution would fail, will result in an inconsistentValue error.

smRunState的值为“初始化”、“执行”、“暂停”、“暂停”或“恢复”。当smRunState的值为“中止”或“终止”时,或者如果实现可以确定中止执行的尝试将失败,则将此对象设置为“中止”,将导致值不一致错误。

Setting this object to `suspend' will suspend execution if the value of smRunState is `executing'. Setting this object to `suspend' will cause an inconsistentValue error if the value of smRunState is not `executing' or if the implementation can determine that the attempt to suspend the execution would fail.

如果smRunState的值为“正在执行”,则将此对象设置为“暂停”将暂停执行。如果smRunState的值不是“正在执行”,或者如果实现可以确定挂起执行的尝试将失败,则将此对象设置为“挂起”将导致值不一致错误。

Setting this object to `resume' will resume execution if the value of smRunState is `suspending' or `suspended'. Setting this object to `resume' will cause an inconsistentValue error if the value of smRunState is not `suspended' or if the implementation can determine that the attempt to resume the execution would fail.

如果smRunState的值为'suspending'或'suspended',则将此对象设置为'resume'将恢复执行。如果smRunState的值不是“挂起”的,或者如果实现可以确定恢复执行的尝试将失败,则将此对象设置为“resume”将导致值不一致错误。

            Setting this object to nop(4) has no effect."
       DEFVAL { nop }
       ::= { smRunEntry 9 }
        
            Setting this object to nop(4) has no effect."
       DEFVAL { nop }
       ::= { smRunEntry 9 }
        
   smRunState OBJECT-TYPE
       SYNTAX      INTEGER {
                       initializing(1),
                       executing(2),
                       suspending(3),
                       suspended(4),
                       resuming(5),
                       aborting(6),
                       terminated(7)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of this object indicates the script's execution
            state. If the script has been invoked but has not yet
            begun execution, the value will be `initializing'. If the
            script is running, the value will be `executing'.
        
   smRunState OBJECT-TYPE
       SYNTAX      INTEGER {
                       initializing(1),
                       executing(2),
                       suspending(3),
                       suspended(4),
                       resuming(5),
                       aborting(6),
                       terminated(7)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of this object indicates the script's execution
            state. If the script has been invoked but has not yet
            begun execution, the value will be `initializing'. If the
            script is running, the value will be `executing'.
        

A running script which received a request to suspend execution first transitions into a temporary `suspending' state. The temporary `suspending' state changes to `suspended' when the script has actually been suspended. The temporary `suspending' state changes back to `executing' if

接收到暂停执行请求的正在运行的脚本首先转换为临时“暂停”状态。当脚本实际已挂起时,临时“挂起”状态更改为“挂起”。如果出现以下情况,临时“挂起”状态将变回“正在执行”

the attempt to suspend the running script fails.

尝试挂起正在运行的脚本失败。

A suspended script which received a request to resume execution first transitions into a temporary `resuming' state. The temporary `resuming' state changes to `running' when the script has actually been resumed. The temporary `resuming' state changes back to `suspended' if the attempt to resume the suspended script fails.

接收到恢复执行请求的挂起脚本首先转换为临时“恢复”状态。当脚本实际已恢复时,临时“正在恢复”状态更改为“正在运行”。如果尝试恢复挂起的脚本失败,临时“正在恢复”状态将变回“已挂起”。

A script which received a request to abort execution but which is still running first transitions into a temporary `aborting' state.

接收到中止执行请求但仍在运行的脚本首先转换为临时“中止”状态。

            A script which has finished its execution is `terminated'."
       ::= { smRunEntry 10 }
        
            A script which has finished its execution is `terminated'."
       ::= { smRunEntry 10 }
        
   smRunError OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object contains a descriptive error message if the
            script startup or execution raised an abnormal condition.
            An implementation must store a descriptive error message
            in this object if the script exits with the smRunExitCode
            `genericError'."
       DEFVAL { ''H }
       ::= { smRunEntry 11 }
        
   smRunError OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object contains a descriptive error message if the
            script startup or execution raised an abnormal condition.
            An implementation must store a descriptive error message
            in this object if the script exits with the smRunExitCode
            `genericError'."
       DEFVAL { ''H }
       ::= { smRunEntry 11 }
        
   smRunResultTime OBJECT-TYPE
       SYNTAX      DateAndTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The date and time when the smRunResult was last updated.
            The value '0000000000000000'H is returned if smRunResult
            has not yet been updated after the creation of this
            smRunTable entry."
       DEFVAL { '0000000000000000'H }
       ::= { smRunEntry 12 }
        
   smRunResultTime OBJECT-TYPE
       SYNTAX      DateAndTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The date and time when the smRunResult was last updated.
            The value '0000000000000000'H is returned if smRunResult
            has not yet been updated after the creation of this
            smRunTable entry."
       DEFVAL { '0000000000000000'H }
       ::= { smRunEntry 12 }
        

smRunErrorTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The date and time when the smRunError was last updated. The value '0000000000000000'H is returned if smRunError

smRunErrorTime对象类型语法DateAndTime MAX-ACCESS只读状态当前描述“上次更新smRunError的日期和时间。如果smRunError

            has not yet been updated after the creation of this
            smRunTable entry."
       DEFVAL { '0000000000000000'H }
       ::= { smRunEntry 13 }
        
            has not yet been updated after the creation of this
            smRunTable entry."
       DEFVAL { '0000000000000000'H }
       ::= { smRunEntry 13 }
        
   --
   -- Notifications. The definition of smTraps makes notification
   -- registrations reversible (see STD 58, RFC 2578).
   --
        
   --
   -- Notifications. The definition of smTraps makes notification
   -- registrations reversible (see STD 58, RFC 2578).
   --
        
   smTraps OBJECT IDENTIFIER ::= { smNotifications 0 }
        
   smTraps OBJECT IDENTIFIER ::= { smNotifications 0 }
        
   smScriptAbort NOTIFICATION-TYPE
       OBJECTS     { smRunExitCode, smRunEndTime, smRunError }
       STATUS      current
       DESCRIPTION
           "This notification is generated whenever a running script
            terminates with an smRunExitCode unequal to `noError'."
       ::= { smTraps 1 }
        
   smScriptAbort NOTIFICATION-TYPE
       OBJECTS     { smRunExitCode, smRunEndTime, smRunError }
       STATUS      current
       DESCRIPTION
           "This notification is generated whenever a running script
            terminates with an smRunExitCode unequal to `noError'."
       ::= { smTraps 1 }
        

smScriptResult NOTIFICATION-TYPE OBJECTS { smRunResult } STATUS current DESCRIPTION "This notification can be used by scripts to notify other management applications about results produced by the script.

smScriptResult NOTIFICATION-TYPE对象{smRunResult}状态当前描述“脚本可以使用此通知将脚本生成的结果通知其他管理应用程序。

            This notification is not automatically generated by the
            Script MIB implementation. It is the responsibility of
            the executing script to emit this notification where it
            is appropriate to do so."
       ::= { smTraps 2 }
        
            This notification is not automatically generated by the
            Script MIB implementation. It is the responsibility of
            the executing script to emit this notification where it
            is appropriate to do so."
       ::= { smTraps 2 }
        

smScriptException NOTIFICATION-TYPE OBJECTS { smRunError } STATUS current DESCRIPTION "This notification can be used by scripts to notify other management applications about script errors.

smScriptException NOTIFICATION-TYPE对象{smRunError}状态当前描述“脚本可以使用此通知通知其他管理应用程序脚本错误。

            This notification is not automatically generated by the
            Script MIB implementation. It is the responsibility of
            the executing script or the runtime system to emit this
            notification where it is appropriate to do so."
       ::= { smTraps 3 }
        
            This notification is not automatically generated by the
            Script MIB implementation. It is the responsibility of
            the executing script or the runtime system to emit this
            notification where it is appropriate to do so."
       ::= { smTraps 3 }
        

-- conformance information

--一致性信息

   smCompliances OBJECT IDENTIFIER ::= { smConformance 1 }
   smGroups      OBJECT IDENTIFIER ::= { smConformance 2 }
        
   smCompliances OBJECT IDENTIFIER ::= { smConformance 1 }
   smGroups      OBJECT IDENTIFIER ::= { smConformance 2 }
        

-- compliance statements

--合规声明

   smCompliance2 MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for SNMP entities which implement
            the Script MIB."
       MODULE      -- this module
       MANDATORY-GROUPS {
               smLanguageGroup, smScriptGroup2, smLaunchGroup2,
               smRunGroup2, smNotificationsGroup2
       }
       GROUP   smCodeGroup
       DESCRIPTION
           "The smCodeGroup is mandatory only for those implementations
            that support the downloading of scripts via SNMP."
       OBJECT  smScriptSource
       MIN-ACCESS  read-only
       DESCRIPTION
           "The smScriptSource object is read-only for implementations
            that are not able to download script code from a URL."
       OBJECT smCodeText
       DESCRIPTION
           "A compliant implementation need only support write access to
            the smCodeText object only during row creation."
       OBJECT smLaunchArgument
       DESCRIPTION
           "A compliant implementation has to support a minimum size
            for smLaunchArgument of 255 octets."
       OBJECT smRunArgument
       DESCRIPTION
           "A compliant implementation has to support a minimum size
            for smRunArgument of 255 octets."
       OBJECT smRunResult
       DESCRIPTION
           "A compliant implementation has to support a minimum size
            for smRunResult of 255 octets."
       OBJECT smRunState
       DESCRIPTION
           "A compliant implementation does not have to support script
            suspension and the smRunState `suspended'. Such an
            implementation will change into the `suspending' state
            when the smRunControl is set to `suspend' and remain in this
            state until smRunControl is set to `resume' or the script
            terminates."
        
   smCompliance2 MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for SNMP entities which implement
            the Script MIB."
       MODULE      -- this module
       MANDATORY-GROUPS {
               smLanguageGroup, smScriptGroup2, smLaunchGroup2,
               smRunGroup2, smNotificationsGroup2
       }
       GROUP   smCodeGroup
       DESCRIPTION
           "The smCodeGroup is mandatory only for those implementations
            that support the downloading of scripts via SNMP."
       OBJECT  smScriptSource
       MIN-ACCESS  read-only
       DESCRIPTION
           "The smScriptSource object is read-only for implementations
            that are not able to download script code from a URL."
       OBJECT smCodeText
       DESCRIPTION
           "A compliant implementation need only support write access to
            the smCodeText object only during row creation."
       OBJECT smLaunchArgument
       DESCRIPTION
           "A compliant implementation has to support a minimum size
            for smLaunchArgument of 255 octets."
       OBJECT smRunArgument
       DESCRIPTION
           "A compliant implementation has to support a minimum size
            for smRunArgument of 255 octets."
       OBJECT smRunResult
       DESCRIPTION
           "A compliant implementation has to support a minimum size
            for smRunResult of 255 octets."
       OBJECT smRunState
       DESCRIPTION
           "A compliant implementation does not have to support script
            suspension and the smRunState `suspended'. Such an
            implementation will change into the `suspending' state
            when the smRunControl is set to `suspend' and remain in this
            state until smRunControl is set to `resume' or the script
            terminates."
        
       ::= { smCompliances 2 }
        
       ::= { smCompliances 2 }
        
   smLanguageGroup OBJECT-GROUP
       OBJECTS {
           smLangLanguage, smLangVersion,
           smLangVendor, smLangRevision,
           smLangDescr, smExtsnExtension,
           smExtsnVersion, smExtsnVendor,
           smExtsnRevision, smExtsnDescr
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing information about the
            capabilities of the scripting engine."
       ::= { smGroups 1 }
        
   smLanguageGroup OBJECT-GROUP
       OBJECTS {
           smLangLanguage, smLangVersion,
           smLangVendor, smLangRevision,
           smLangDescr, smExtsnExtension,
           smExtsnVersion, smExtsnVendor,
           smExtsnRevision, smExtsnDescr
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing information about the
            capabilities of the scripting engine."
       ::= { smGroups 1 }
        
   smScriptGroup2 OBJECT-GROUP
       OBJECTS {
           smScriptDescr, smScriptLanguage,
           smScriptSource, smScriptAdminStatus,
           smScriptOperStatus, smScriptStorageType,
           smScriptRowStatus, smScriptError,
           smScriptLastChange
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing information about
            installed scripts."
       ::= { smGroups 7 }
        
   smScriptGroup2 OBJECT-GROUP
       OBJECTS {
           smScriptDescr, smScriptLanguage,
           smScriptSource, smScriptAdminStatus,
           smScriptOperStatus, smScriptStorageType,
           smScriptRowStatus, smScriptError,
           smScriptLastChange
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing information about
            installed scripts."
       ::= { smGroups 7 }
        
   smCodeGroup OBJECT-GROUP
       OBJECTS {
           smCodeText, smCodeRowStatus
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects used to download or modify scripts
            by using SNMP set requests."
       ::= { smGroups 3 }
        
   smCodeGroup OBJECT-GROUP
       OBJECTS {
           smCodeText, smCodeRowStatus
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects used to download or modify scripts
            by using SNMP set requests."
       ::= { smGroups 3 }
        

smLaunchGroup2 OBJECT-GROUP OBJECTS { smLaunchScriptOwner, smLaunchScriptName, smLaunchArgument, smLaunchMaxRunning, smLaunchMaxCompleted, smLaunchLifeTime, smLaunchExpireTime, smLaunchStart, smLaunchControl, smLaunchAdminStatus, smLaunchOperStatus, smLaunchRunIndexNext,

smLaunchGroup2对象组对象{smLaunchScriptOwner、smLaunchScriptName、smLaunchArgument、smLaunchMaxRunning、smLaunchMaxCompleted、smLaunchLifeTime、smLaunchExpireTime、smLaunchStart、smLaunchControl、smLaunchAdminStatus、smLaunchOperStatus、smLaunchRunIndexNext、,

           smLaunchStorageType, smLaunchRowStatus,
           smLaunchError, smLaunchLastChange,
           smLaunchRowExpireTime
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing information about scripts
            that can be launched."
       ::= { smGroups 8 }
        
           smLaunchStorageType, smLaunchRowStatus,
           smLaunchError, smLaunchLastChange,
           smLaunchRowExpireTime
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing information about scripts
            that can be launched."
       ::= { smGroups 8 }
        
   smRunGroup2 OBJECT-GROUP
       OBJECTS {
           smRunArgument, smRunStartTime,
           smRunEndTime, smRunLifeTime,
           smRunExpireTime, smRunExitCode,
           smRunResult, smRunState,
           smRunControl, smRunError,
           smRunResultTime, smRunErrorTime
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing information about running
            scripts."
       ::= { smGroups 9 }
        
   smRunGroup2 OBJECT-GROUP
       OBJECTS {
           smRunArgument, smRunStartTime,
           smRunEndTime, smRunLifeTime,
           smRunExpireTime, smRunExitCode,
           smRunResult, smRunState,
           smRunControl, smRunError,
           smRunResultTime, smRunErrorTime
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing information about running
            scripts."
       ::= { smGroups 9 }
        
   smNotificationsGroup2 NOTIFICATION-GROUP
       NOTIFICATIONS {
           smScriptAbort,
           smScriptResult,
           smScriptException
       }
       STATUS      current
       DESCRIPTION
           "The notifications emitted by the Script MIB."
       ::= { smGroups 10 }
        
   smNotificationsGroup2 NOTIFICATION-GROUP
       NOTIFICATIONS {
           smScriptAbort,
           smScriptResult,
           smScriptException
       }
       STATUS      current
       DESCRIPTION
           "The notifications emitted by the Script MIB."
       ::= { smGroups 10 }
        
   --
   -- Deprecated compliance and conformance group definitions
   -- from RFC 2592.
   --
        
   --
   -- Deprecated compliance and conformance group definitions
   -- from RFC 2592.
   --
        

smCompliance MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "The compliance statement for SNMP entities which implement the Script MIB." MODULE -- this module MANDATORY-GROUPS {

smCompliance MODULE-COMPLIANCE STATUS已弃用说明“用于实现脚本MIB的SNMP实体的符合性声明”。模块--此模块是必需的{

               smLanguageGroup, smScriptGroup, smLaunchGroup, smRunGroup
       }
       GROUP   smCodeGroup
       DESCRIPTION
           "The smCodeGroup is mandatory only for those implementations
            that support the downloading of scripts via SNMP."
       OBJECT  smScriptSource
       MIN-ACCESS  read-only
       DESCRIPTION
           "The smScriptSource object is read-only for implementations
            that are not able to download script code from a URL."
       OBJECT smCodeText
       DESCRIPTION
           "A compliant implementation need only support write access
            to the smCodeText object during row creation."
       OBJECT smLaunchArgument
       DESCRIPTION
           "A compliant implementation has to support a minimum size
            for smLaunchArgument of 255 octets."
       OBJECT smRunArgument
       DESCRIPTION
           "A compliant implementation has to support a minimum size
            for smRunArgument of 255 octets."
       OBJECT smRunResult
       DESCRIPTION
           "A compliant implementation has to support a minimum size
            for smRunResult of 255 octets."
       OBJECT smRunState
       DESCRIPTION
           "A compliant implementation does not have to support script
            suspension and the smRunState `suspended'. Such an
            implementation will change into the `suspending' state
            when the smRunControl is set to `suspend' and remain in this
            state until smRunControl is set to `resume' or the script
            terminates."
       ::= { smCompliances 1 }
        
               smLanguageGroup, smScriptGroup, smLaunchGroup, smRunGroup
       }
       GROUP   smCodeGroup
       DESCRIPTION
           "The smCodeGroup is mandatory only for those implementations
            that support the downloading of scripts via SNMP."
       OBJECT  smScriptSource
       MIN-ACCESS  read-only
       DESCRIPTION
           "The smScriptSource object is read-only for implementations
            that are not able to download script code from a URL."
       OBJECT smCodeText
       DESCRIPTION
           "A compliant implementation need only support write access
            to the smCodeText object during row creation."
       OBJECT smLaunchArgument
       DESCRIPTION
           "A compliant implementation has to support a minimum size
            for smLaunchArgument of 255 octets."
       OBJECT smRunArgument
       DESCRIPTION
           "A compliant implementation has to support a minimum size
            for smRunArgument of 255 octets."
       OBJECT smRunResult
       DESCRIPTION
           "A compliant implementation has to support a minimum size
            for smRunResult of 255 octets."
       OBJECT smRunState
       DESCRIPTION
           "A compliant implementation does not have to support script
            suspension and the smRunState `suspended'. Such an
            implementation will change into the `suspending' state
            when the smRunControl is set to `suspend' and remain in this
            state until smRunControl is set to `resume' or the script
            terminates."
       ::= { smCompliances 1 }
        
   smScriptGroup OBJECT-GROUP
       OBJECTS {
           smScriptDescr, smScriptLanguage,
           smScriptSource, smScriptAdminStatus,
           smScriptOperStatus, smScriptStorageType,
           smScriptRowStatus
       }
       STATUS      deprecated
       DESCRIPTION
           "A collection of objects providing information about
            installed scripts."
        
   smScriptGroup OBJECT-GROUP
       OBJECTS {
           smScriptDescr, smScriptLanguage,
           smScriptSource, smScriptAdminStatus,
           smScriptOperStatus, smScriptStorageType,
           smScriptRowStatus
       }
       STATUS      deprecated
       DESCRIPTION
           "A collection of objects providing information about
            installed scripts."
        
       ::= { smGroups 2 }
        
       ::= { smGroups 2 }
        
   smLaunchGroup OBJECT-GROUP
       OBJECTS {
           smLaunchScriptOwner, smLaunchScriptName,
           smLaunchArgument, smLaunchMaxRunning,
           smLaunchMaxCompleted, smLaunchLifeTime,
           smLaunchExpireTime, smLaunchStart,
           smLaunchControl, smLaunchAdminStatus,
           smLaunchOperStatus, smLaunchRunIndexNext,
           smLaunchStorageType, smLaunchRowStatus
       }
       STATUS      deprecated
       DESCRIPTION
           "A collection of objects providing information about scripts
            that can be launched."
       ::= { smGroups 4 }
        
   smLaunchGroup OBJECT-GROUP
       OBJECTS {
           smLaunchScriptOwner, smLaunchScriptName,
           smLaunchArgument, smLaunchMaxRunning,
           smLaunchMaxCompleted, smLaunchLifeTime,
           smLaunchExpireTime, smLaunchStart,
           smLaunchControl, smLaunchAdminStatus,
           smLaunchOperStatus, smLaunchRunIndexNext,
           smLaunchStorageType, smLaunchRowStatus
       }
       STATUS      deprecated
       DESCRIPTION
           "A collection of objects providing information about scripts
            that can be launched."
       ::= { smGroups 4 }
        
   smRunGroup OBJECT-GROUP
       OBJECTS {
           smRunArgument, smRunStartTime,
           smRunEndTime, smRunLifeTime,
           smRunExpireTime, smRunExitCode,
           smRunResult, smRunState,
           smRunControl, smRunError
       }
       STATUS      deprecated
       DESCRIPTION
           "A collection of objects providing information about running
            scripts."
       ::= { smGroups 5 }
        
   smRunGroup OBJECT-GROUP
       OBJECTS {
           smRunArgument, smRunStartTime,
           smRunEndTime, smRunLifeTime,
           smRunExpireTime, smRunExitCode,
           smRunResult, smRunState,
           smRunControl, smRunError
       }
       STATUS      deprecated
       DESCRIPTION
           "A collection of objects providing information about running
            scripts."
       ::= { smGroups 5 }
        
   smNotificationsGroup NOTIFICATION-GROUP
       NOTIFICATIONS {
           smScriptAbort,
           smScriptResult
       }
       STATUS      deprecated
       DESCRIPTION
           "The notifications emitted by the Script MIB."
       ::= { smGroups 6 }
        
   smNotificationsGroup NOTIFICATION-GROUP
       NOTIFICATIONS {
           smScriptAbort,
           smScriptResult
       }
       STATUS      deprecated
       DESCRIPTION
           "The notifications emitted by the Script MIB."
       ::= { smGroups 6 }
        

END

终止

7. Usage Examples
7. 用法示例

This section presents some examples that explain how a manager can use the Script MIB defined in this memo. The purpose of these examples is to explain the steps that are normally used to delegate management scripts.

本节提供了一些示例,说明经理如何使用此备忘录中定义的脚本MIB。这些示例的目的是解释通常用于委托管理脚本的步骤。

7.1. Pushing a Script via SNMP
7.1. 通过SNMP推送脚本

This example explains the steps performed by a manager to push a script into a distributed manager.

本例解释了管理器将脚本推入分布式管理器所执行的步骤。

1. The manager first checks the smLangTable and the smExtsnTable in order to select the appropriate script or language.

1. 管理器首先检查smLangTable和smExtsnTable,以选择适当的脚本或语言。

2. The manager creates a row in the smScriptTable by issuing an SNMP set-request. The smScriptRowStatus object is set to `createAndWait' and the smScriptSource object is set to an empty string. The smScriptLanguage object is set to the language in which the script was written. The smScriptStorageType object is set to `volatile' to indicate that the script will be loaded via the smCodeTable. The smScriptOwner is set to a string which identifies the principal who owns the new row. The smScriptName defines the administratively assigned unique name for the script.

2. 管理器通过发出SNMP设置请求在smScriptTable中创建一行。smScriptRowStatus对象设置为“createAndWait”,smScriptSource对象设置为空字符串。smScriptLanguage对象设置为编写脚本时使用的语言。smScriptStorageType对象设置为“volatile”,表示将通过smCodeTable加载脚本。smScriptOwner设置为一个字符串,用于标识拥有新行的主体。smScriptName为脚本定义管理分配的唯一名称。

3. The manager sets the smScriptRowStatus object to `active' and the smScriptAdminStatus object to `editing'.

3. 管理器将smScriptRowStatus对象设置为“活动”,将smScriptAdminStatus对象设置为“编辑”。

4. The manager pushes the script to the distributed manager by issuing a couple of SNMP set-requests to fill the smCodeTable.

4. 管理器通过发出两个SNMP集请求来填充smCodeTable,从而将脚本推送到分布式管理器。

5. Once the whole script has been transferred, the manager sends a set-request to set the smScriptAdminStatus object to `enabled'. The Script MIB implementation now makes the script accessible to the runtime system. This might include the compilation of the script if the language requires a compilation step.

5. 传输整个脚本后,管理器将发送一个set请求,以将smScriptAdminStatus对象设置为“enabled”。脚本MIB实现现在使运行时系统可以访问脚本。如果语言需要编译步骤,这可能包括脚本的编译。

6. The manager polls the smScriptOperStatus object until the value is either `enabled' or one of the error status codes. The script can only be used if the value of smScriptOperStatus is `enabled'.

6. 管理器轮询smScriptOperStatus对象,直到该值为“已启用”或某个错误状态代码。仅当smScriptOperStatus的值为“enabled”时,才能使用该脚本。

7. If the manager wants to store the script in local non-volatile storage, it should send a set-request which changes the smScriptStorageType object to `nonVolatile'.

7. 如果管理器希望将脚本存储在本地非易失性存储器中,则应发送一个set请求,将smScriptStorageType对象更改为“非易失性”。

7.2. Pulling a Script from a URL
7.2. 从URL中提取脚本

This example explains the steps performed by a manager to cause a distributed manager to pull a script from a URL.

本例解释了管理器执行的步骤,以使分布式管理器从URL中提取脚本。

1. The manager first checks the smLangTable and the smExtsnTable in order to select the appropriate script or language.

1. 管理器首先检查smLangTable和smExtsnTable,以选择适当的脚本或语言。

2. The manager creates a row in the smScriptTable by issuing an SNMP set-request. The smScriptRowStatus object is set to `createAndWait' and the smScriptSource object is set to the URL which points to the script source. The smScriptLanguage object is set to the language in which the script was written. The smScriptOwner is set to a string which identifies the principal who owns the new row. The smScriptName defines the administratively assigned unique name for the script.

2. 管理器通过发出SNMP设置请求在smScriptTable中创建一行。smScriptRowStatus对象设置为“createAndWait”,smScriptSource对象设置为指向脚本源的URL。smScriptLanguage对象设置为编写脚本时使用的语言。smScriptOwner设置为一个字符串,用于标识拥有新行的主体。smScriptName为脚本定义管理分配的唯一名称。

3. The manager sets the smScriptRowStatus object to `active'.

3. 管理器将smScriptRowStatus对象设置为“活动”。

4. The manager sends a set-request to set the smScriptAdminStatus object to `enabled'. The Script MIB implementation now makes the script accessible to the runtime system. This causes a retrieval operation to pull the script from the URL stored in smScriptSource. This retrieval operation might be followed by a compile operation if the language requires a compilation step.

4. 管理器发送一个set请求,将smScriptAdminStatus对象设置为“enabled”。脚本MIB实现现在使运行时系统可以访问脚本。这会导致检索操作从存储在smScriptSource中的URL中提取脚本。如果语言需要编译步骤,则此检索操作之后可能会执行编译操作。

5. The manager polls the smScriptOperStatus object until the value is either `enabled' or one of the error status codes. The script can only be used if the value of smScriptOperStatus is `enabled'.

5. 管理器轮询smScriptOperStatus对象,直到该值为“已启用”或某个错误状态代码。仅当smScriptOperStatus的值为“enabled”时,才能使用该脚本。

6. If the manager wants to store the script in local non-volatile storage, it should send a set-request which changes the smScriptStorageType object to `nonVolatile'.

6. 如果管理器希望将脚本存储在本地非易失性存储器中,则应发送一个set请求,将smScriptStorageType对象更改为“非易失性”。

7.3. Modifying an Existing Script
7.3. 修改现有脚本

This section explains how a manager can modify a script by sending SNMP set-requests.

本节介绍管理器如何通过发送SNMP集请求来修改脚本。

1. First, the script is de-activated by setting the smScriptAdminStatus to `disabled'.

1. 首先,通过将smScriptAdminStatus设置为“disabled”来取消激活脚本。

2. The manager polls the smScriptOperStatus object until the value is `disabled'.

2. 管理器轮询smScriptOperStatus对象,直到该值为“已禁用”。

3. The manager sets smScriptSource to an empty string and smScriptAdminStatus to `editing'. This makes the script source available in the smCodeTable.

3. 管理器将smScriptSource设置为空字符串,将smScriptAdminStatus设置为“编辑”。这将使脚本源在smCodeTable中可用。

4. The manager polls the smScriptOperStatus object until the value is `editing'.

4. 管理器轮询smScriptOperStatus对象,直到该值为“正在编辑”。

5. The manager sends SNMP set-requests to modify the script in the smCodeTable.

5. 管理器发送SNMP设置请求,以修改smCodeTable中的脚本。

6. The manager sends a set-request to set the smScriptAdminStatus object to `enabled'. The Script MIB implementation now makes the script accessible to the runtime system. This might include the compilation of the script if the language requires a compilation step.

6. 管理器发送一个set请求,将smScriptAdminStatus对象设置为“enabled”。脚本MIB实现现在使运行时系统可以访问脚本。如果语言需要编译步骤,这可能包括脚本的编译。

7. The manager polls the smScriptOperStatus object until the value is either `enabled' or one of the error status codes. The script can only be used if the value of smScriptOperStatus is `enabled'.

7. 管理器轮询smScriptOperStatus对象,直到该值为“已启用”或某个错误状态代码。仅当smScriptOperStatus的值为“enabled”时,才能使用该脚本。

7.4. Removing an Existing Script
7.4. 删除现有脚本

This section explains how a manager can remove a script from a distributed manager.

本节介绍管理器如何从分布式管理器中删除脚本。

1. First, the manager sets the smScriptAdminStatus to `disabled'. This will ensure that no new scripts can be started while running scripts finish their execution.

1. 首先,管理器将smScriptAdminStatus设置为“已禁用”。这将确保在运行脚本并完成其执行时不能启动新脚本。

2. The manager polls the smScriptOperStatus object until the value is `disabled'.

2. 管理器轮询smScriptOperStatus对象,直到该值为“已禁用”。

3. The manager sends an SNMP set-request to change the smScriptRowStatus object to `destroy'. This will remove the row and all associated resources from the Script MIB implementation.

3. 管理器发送SNMP设置请求,将smScriptRowStatus对象更改为“销毁”。这将从脚本MIB实现中删除行和所有相关资源。

7.5. Creating a Launch Button
7.5. 创建启动按钮

This section explains how a manager can create a launch button for starting a script.

本节介绍管理器如何创建用于启动脚本的启动按钮。

1. The manager, who is identified by an smLaunchOwner value, first chooses a name for the new row in the smLaunchTable. The manager sends an SNMP set-request to set the smLaunchRowStatus object for this smLaunchOwner and smLaunchName to `createAndWait'.

1. 由smLaunchOwner值标识的管理器首先为smLaunchTable中的新行选择一个名称。管理器发送SNMP设置请求,以将此smLaunchOwner和smLaunchName的smLaunchRowStatus对象设置为“createAndWait”。

2. The manager fills the new smLaunchTable row with all required parameters. The smLaunchScriptOwner and smLaunchScriptName values point to the script that should be started from this launch button.

2. 管理器使用所有必需的参数填充新的smLaunchTable行。smLaunchScriptOwner和smLaunchScriptName值指向应从该启动按钮启动的脚本。

3. The manager sets the smLaunchRowStatus object to `active'.

3. 管理器将smLaunchRowStatus对象设置为“活动”。

4. The manager sends a set-request to change smLaunchAdminStatus to `enabled' once the new smLaunchTable row is complete.

4. 新smLaunchTable行完成后,管理器将发送一个set请求,将smLaunchAdminStatus更改为“已启用”。

5. The manager polls the smLaunchOperStatus object until the value is `enabled'.

5. 管理器轮询SMLaunchOperaStatus对象,直到该值为“已启用”。

7.6. Launching a Script
7.6. 启动脚本

This section explains the suggested way to launch a script from a given launch button.

本节介绍从给定启动按钮启动脚本的建议方法。

1. The manager first retrieves the value of smLaunchRunIndexNext from the launch button selected to start the script.

1. 管理器首先从启动脚本所选的启动按钮中检索smLaunchRunIndexNext的值。

2. The manager sends an SNMP set-request to set the smLaunchStart object to the value obtained in step 1. This will launch the script if all necessary pre-conditions are satisfied (see the definition of smLaunchStart for more details). The manager can also provide the smLaunchArgument in the same set-request that is used to start the script. Upon successful start, a new row will be created in the smRunTable indexed by smLaunchOwner, smLaunchName and the value written to smLaunchStart.

2. 管理器发送SNMP设置请求,将smLaunchStart对象设置为步骤1中获得的值。如果满足所有必要的先决条件,这将启动脚本(有关更多详细信息,请参阅smLaunchStart的定义)。管理器还可以在用于启动脚本的同一集合请求中提供smLaunchArgument。成功启动后,将在smRunTable中创建一个新行,由smLaunchOwner、smLaunchName和写入smLaunchStart的值编制索引。

3. The manager polls the smRunState object until the value is either `executing' (the default case), `suspended' or `terminated'.

3. 管理器轮询smRunState对象,直到值为“正在执行”(默认情况)、“暂停”或“终止”。

The first step is not required. A manager can also try to guess an unused value for smRunIndex if the manager wants to start the script in a single transaction. A manager can also use the special value 0 if it does not care about the smRunIndex.

第一步不是必需的。如果管理器希望在单个事务中启动脚本,则管理器还可以尝试猜测SMRUNIDEX的未使用值。如果管理器不关心smRunIndex,也可以使用特殊值0。

7.7. Suspending a Running Script
7.7. 挂起正在运行的脚本

This section explains how a manager can suspend a running script.

本节介绍管理器如何挂起正在运行的脚本。

1. The manager sets the smRunControl object of the running script or the smLaunchControl object of the launch button used to start the running script to `suspend'. Setting smLaunchControl will suspend all running scripts started from the launch button while smRunControl will only suspend the running script associated with the smRunControl instance.

1. 管理器将运行脚本的smRunControl对象或用于启动运行脚本的启动按钮的smLaunchControl对象设置为“挂起”。设置smLaunchControl将挂起从启动按钮启动的所有正在运行的脚本,而smRunControl将仅挂起与smRunControl实例关联的正在运行的脚本。

2. The manager polls the smRunState object until the value is either `suspended', `executing', or `terminated'. If the value is `suspended', then the suspend operation was successful. If the value is `executing', then the attempt to suspend the script

2. 管理器轮询smRunState对象,直到该值为“挂起”、“执行”或“终止”。如果该值为“挂起”,则挂起操作成功。如果该值为“正在执行”,则将尝试挂起脚本

failed. The value `terminated' can be received in cases where the suspend operation failed and the running script terminated between the polls.

失败。如果挂起操作失败并且正在运行的脚本在轮询之间终止,则可以接收值“terminated”。

Note that the set operation in the first step can lead to an inconsistentValue error which indicates that the suspend operation failed (e.g., because the runtime system does not support suspend/resume). There is no need to poll smRunState in this case.

请注意,第一步中的set操作可能会导致值不一致错误,这表明挂起操作失败(例如,因为运行时系统不支持挂起/恢复)。在这种情况下,不需要轮询smRunState。

7.8. Resuming a Suspended Script
7.8. 恢复暂停的脚本

This section explains how a manager can resume a suspended script.

本节介绍管理器如何恢复挂起的脚本。

1. The manager sets the smRunControl object of the running script or the smLaunchControl object of the launch button used to start the running script to `resume'. Setting smLaunchControl will resume all running scripts started from the launch button while smRunControl will only resume the running script associated with the smRunControl instance.

1. 管理器将运行脚本的smRunControl对象或用于启动运行脚本的启动按钮的smLaunchControl对象设置为“恢复”。设置smLaunchControl将恢复从启动按钮启动的所有正在运行的脚本,而smRunControl将仅恢复与smRunControl实例关联的正在运行的脚本。

2. The manager polls the smRunState object until the value is either `suspended', `executing', or `terminated'. If the value is `executing', then the resume operation was successful. If the value is `suspended', then the attempt to resume the script failed. The value `terminated' can be received in cases where the resume operation was successful and the running script terminated between the polls.

2. 管理器轮询smRunState对象,直到该值为“挂起”、“执行”或“终止”。如果值为“正在执行”,则恢复操作成功。如果该值为“挂起”,则尝试恢复脚本失败。在恢复操作成功且正在运行的脚本在轮询之间终止的情况下,可以接收值“terminated”。

Note that the set operation in the first step can lead to an inconsistentValue error which indicates that the resume operation failed (e.g., because the runtime system does not support suspend/resume). There is no need to poll smRunState in this case.

请注意,第一步中的set操作可能会导致值不一致错误,这表明恢复操作失败(例如,因为运行时系统不支持挂起/恢复)。在这种情况下,不需要轮询smRunState。

7.9. Terminating a Running Script
7.9. 终止正在运行的脚本

This section explains two ways to terminate a running script. The first approach is as follows:

本节介绍终止正在运行的脚本的两种方法。第一种方法如下:

1. The manager sets the smRunControl object of the running script or the smLaunchControl object of the launch button used to start the running script to `abort'. Setting smLaunchControl will abort all running scripts started from the launch button while smRunControl will only abort the running script associated with the smRunControl instance.

1. 管理器将运行脚本的smRunControl对象或用于启动运行脚本的启动按钮的smLaunchControl对象设置为“中止”。设置smLaunchControl将中止从启动按钮启动的所有正在运行的脚本,而smRunControl将仅中止与smRunControl实例关联的正在运行的脚本。

2. The manager polls the smRunState object until the value is `terminated'.

2. 管理器轮询smRunState对象,直到值“终止”。

The second way to terminate a script is to set the smRunLifeTime to zero which causes the runtime system to terminate the script with a `lifeTimeExceeded' exit code:

终止脚本的第二种方法是将smRunLifeTime设置为零,这会导致运行时系统使用“LifetimeExcepted”退出代码终止脚本:

1. The manager changes the value of smRunLifeTime to 0. This causes the Script MIB implementation to abort the script because the remaining life time has expired.

1. 管理器将smRunLifeTime的值更改为0。这会导致脚本MIB实现中止脚本,因为剩余的生存时间已过期。

2. The manager polls the smRunState object until the value is `terminated'.

2. 管理器轮询smRunState对象,直到值“终止”。

Note that changing the smRunLifeTime value can also be used to increase the permitted lifetime of a running script. For example, a manager can choose to set smRunLifeTime to a small fixed time interval and increase the value periodically. This strategy has the nice effect that scripts terminate automatically if the manager loses contact with the Script MIB engine.

请注意,更改smRunLifeTime值也可用于增加运行脚本的允许生存期。例如,管理器可以选择将smRunLifeTime设置为一个小的固定时间间隔,并定期增加该值。此策略的良好效果是,如果管理器与脚本MIB引擎失去联系,脚本将自动终止。

7.10. Removing a Terminated Script
7.10. 删除终止的脚本

This section explains how a manager can remove a terminated script.

本节说明管理器如何删除终止的脚本。

1. The manager changes the smRunExpireTime to 0. This causes the Script MIB implementation to destroy the smRunTable entry of the terminated script.

1. 管理器将smRunExpireTime更改为0。这会导致脚本MIB实现销毁终止脚本的smRunTable项。

7.11. Removing a Launch Button
7.11. 卸下启动按钮

This section explains how a manager can remove a launch button from a distributed manager.

本节介绍管理器如何从分布式管理器中删除启动按钮。

1. First, the manager sets the smLaunchAdminStatus to `disabled'. This will ensure that no new scripts can be started from this launch button while running scripts finish their execution.

1. 首先,管理器将smLaunchAdminStatus设置为“已禁用”。这将确保在运行脚本完成其执行时,不能从此启动按钮启动新脚本。

2. The manager polls the smLaunchOperStatus object until the value is `disabled'.

2. 管理器轮询smLaunchOperStatus对象,直到该值为“禁用”。

3. The manager sends an SNMP set-request to change the smLaunchRowStatus object to `destroy'. This will remove the row and all associated resources from the Script MIB implementation.

3. 管理器发送SNMP设置请求,将smLaunchRowStatus对象更改为“销毁”。这将从脚本MIB实现中删除行和所有相关资源。

8. VACM Configuration Examples
8. VACM配置示例

This section shows how the view-based access control model defined in RFC 2575 [RFC2575] can be configured to control access to the Script MIB.

本节说明如何配置RFC 2575[RFC2575]中定义的基于视图的访问控制模型,以控制对脚本MIB的访问。

8.1. Sandbox for Guests
8.1. 客人沙箱

The first example demonstrates how to configure VACM to give the members of the VACM group "guest" limited access to the Script MIB. The MIB views defined below give the members of the "guest" group a sandbox where they can install and start their own scripts, but not access any other scripts maintained by the Script MIB implementation.

第一个示例演示了如何配置VACM,使VACM组“来宾”的成员能够有限地访问脚本MIB。下面定义的MIB视图为“来宾”组的成员提供了一个沙箱,他们可以在其中安装和启动自己的脚本,但不能访问脚本MIB实现维护的任何其他脚本。

vacmAccessReadView."guest"."".usm.authNoPriv = "guestReadView" vacmAccessWriteView."guest"."".usm.authNoPriv = "guestWriteView"

vacmAccessReadView。“来宾”。.usm.authNoPriv=“guestReadView”vacmAccessWriteView。“来宾”。.usm.authNoPriv=“guestWriteView”

The guestReadView grants read access to the smLangTable, the smExtsnTable and to all the table entries owned by "guest":

guestReadView授予对smLangTable、smExtsnTable和“来宾”拥有的所有表项的读取权限:

      guestReadView:
          smLangTable                       (included)
          smExtsnTable                      (included)
          smScriptObjects.*.*.*."guest"     (included)
          smRunObjects.*.*.*."guest"        (included)
        
      guestReadView:
          smLangTable                       (included)
          smExtsnTable                      (included)
          smScriptObjects.*.*.*."guest"     (included)
          smRunObjects.*.*.*."guest"        (included)
        

The guestWriteView grants write access to all the table entries owned by "guest":

guestWriteView授予对“guest”拥有的所有表项的写访问权:

      guestWriteView:
          smScriptObjects.*.*.*."guest"     (included)
          smRunObjects.*.*.*."guest"        (included)
        
      guestWriteView:
          smScriptObjects.*.*.*."guest"     (included)
          smRunObjects.*.*.*."guest"        (included)
        
8.2. Sharing Scripts
8.2. 共享脚本

This example demonstrates how VACM can be used to share a repository of scripts between the members of the "senior" and the members of the "junior" VACM group:

此示例演示如何使用VACM在“高级”和“初级”VACM组的成员之间共享脚本存储库:

vacmAccessReadView."junior"."".usm.authNoPriv = "juniorReadView" vacmAccessWriteView."junior"."".usm.authNoPriv = "juniorWriteView"

vacmAccessReadView。“junior”。.usm.authNoPriv=“juniorReadView”vacmAccessWriteView。“junior”。.usm.authNoPriv=“juniorWriteView”

      juniorReadView:
          smLangTable                       (included)
          smExtsnTable                      (included)
          smScriptObjects.*.*.*."junior"    (included)
          smRunObjects.*.*.*."junior"       (included)
          smScriptObjects.*.*.*."utils"     (included)
        
      juniorReadView:
          smLangTable                       (included)
          smExtsnTable                      (included)
          smScriptObjects.*.*.*."junior"    (included)
          smRunObjects.*.*.*."junior"       (included)
          smScriptObjects.*.*.*."utils"     (included)
        
      juniorWriteView:
          smScriptObjects.*.*.*."junior"    (included)
          smRunObjects.*.*.*."junior"       (included)
        
      juniorWriteView:
          smScriptObjects.*.*.*."junior"    (included)
          smRunObjects.*.*.*."junior"       (included)
        

The definitions above allow the members of the "junior" VACM group to start the scripts owned by "utils" in addition to the script the members of the "junior" VACM group installed themselves. This is accomplished by giving the members of "junior" read access to scripts in "utils". This allows members of "junior" to create entries in the smLaunchTable which refer to scripts in "utils", and to launch those scripts using these entries in the smLaunchTable.

上述定义允许“junior”VACM组的成员启动“utils”拥有的脚本,以及“junior”VACM组的成员自己安装的脚本。这是通过向“junior”成员提供对“utils”中脚本的读取权限来实现的。这允许“junior”的成员在smLaunchTable中创建引用“utils”中脚本的条目,并使用smLaunchTable中的这些条目启动这些脚本。

vacmAccessReadView."senior"."".usm.authNoPriv = "seniorReadView" vacmAccessWriteView."senior"."".usm.authNoPriv = "seniorWriteView"

vacmAccessReadView。“高级”。.usm.authNoPriv=“seniorReadView”vacmAccessWriteView。“高级”。.usm.authNoPriv=“seniorWriteView”

      seniorReadView:
          smLangTable                       (included)
          smExtsnTable                      (included)
          smScriptObjects.*.*.*."senior"    (included)
          smRunObjects.*.*.*."senior"       (included)
          smScriptObjects.*.*.*."utils"     (included)
        
      seniorReadView:
          smLangTable                       (included)
          smExtsnTable                      (included)
          smScriptObjects.*.*.*."senior"    (included)
          smRunObjects.*.*.*."senior"       (included)
          smScriptObjects.*.*.*."utils"     (included)
        
      seniorWriteView:
          smScriptObjects.*.*.*."senior"    (included)
          smRunObjects.*.*.*."senior"       (included)
          smScriptObjects.*.*.*."utils"     (included)
        
      seniorWriteView:
          smScriptObjects.*.*.*."senior"    (included)
          smRunObjects.*.*.*."senior"       (included)
          smScriptObjects.*.*.*."utils"     (included)
        

The definitions for the members of the "senior" VACM group allow to start the scripts owned by "utils" in addition to the script the members of the "senior" VACM group installed themself. The third write access rule in the seniorWriteView also grants the permission to install scripts owned by "utils". The members of the "senior" VACM group therefore have the permissions to install and modify scripts that can be called by the members of the "junior" VACM group.

“高级”VACM组成员的定义允许启动“UTIL”拥有的脚本,以及“高级”VACM组成员自行安装的脚本。seniorWriteView中的第三条写访问规则还授予安装“utils”拥有的脚本的权限。因此,“高级”VACM组的成员有权安装和修改“初级”VACM组的成员可以调用的脚本。

8.3. Emergency Scripts
8.3. 应急脚本

This example demonstrates how VACM can be used to allow the members of the "junior" VACM group to launch scripts that are executed with the permissions associated with the "emergency" owner. This works by adding the following rules to the juniorReadView and the juniorWriteView:

此示例演示如何使用VACM来允许“初级”VACM组的成员启动脚本,这些脚本使用与“紧急”所有者关联的权限执行。通过将以下规则添加到juniorReadView和juniorWriteView,可以实现此目的:

      juniorReadView:
          smScriptObjects.*.*.*."emergency" (included)
          smRunObjects.*.*.*."emergency"    (included)
        
      juniorReadView:
          smScriptObjects.*.*.*."emergency" (included)
          smRunObjects.*.*.*."emergency"    (included)
        

juniorWriteView smLaunchStart."emergency" (included) smLaunchArgument."emergency" (included)

JUnitorWriteView smLaunchStart.“紧急”(包括)smLaunchArgument.“紧急”(包括)

The rules added to the juniorReadView grant read access to the scripts, the launch buttons and the results owned by "emergency". The rules added to the juniorWriteView grant write permissions to the smLaunchStart and smLaunchArgument variables owned by "emergency". Members of the "junior" VACM group can therefore start scripts that will execute under the owner "emergency".

添加到juniorReadView的规则授予对脚本、启动按钮和“紧急”所拥有的结果的读取权限。添加到JUnitorWriteView的规则向“emergency”拥有的smLaunchStart和smLaunchArgument变量授予写入权限。因此,“初级”VACM组的成员可以启动将在所有者“紧急”状态下执行的脚本。

      seniorReadView:
          smScriptObjects.*.*.*."emergency" (included)
          smRunObjects.*.*.*."emergency"    (included)
        
      seniorReadView:
          smScriptObjects.*.*.*."emergency" (included)
          smRunObjects.*.*.*."emergency"    (included)
        
      seniorWriteView:
          smScriptObjects.*.*.*."emergency" (included)
          smRunObjects.*.*.*."emergency"    (included)
        
      seniorWriteView:
          smScriptObjects.*.*.*."emergency" (included)
          smRunObjects.*.*.*."emergency"    (included)
        

The rules added to the seniorReadView and the seniorWriteView will give the members of the "senior" VACM group the rights to install emergency scripts and to configure appropriate launch buttons.

添加到seniorReadView和seniorWriteView的规则将授予“高级”VACM组成员安装紧急脚本和配置适当启动按钮的权限。

9. IANA Considerations
9. IANA考虑

The Internet Assigned Numbers Authority (IANA) is responsible for maintaining a MIB module (IANA-LANGUAGE-MIB) which provides OID registrations for well-known languages. The IANA language registry is intended to reduce interoperability problems by providing a single list of well-known languages. However, it is of course still possible to register languages in private OID spaces. Registering languages in private OID spaces is especially attractive if a language is used for experimentation or if a language is only used in environments where the distribution of MIB modules with the language registration does not cause any maintenance problems.

互联网分配号码管理局(IANA)负责维护MIB模块(IANA-LANGUAGE-MIB),该模块为知名语言提供OID注册。IANA语言注册中心旨在通过提供一个已知语言列表来减少互操作性问题。然而,在私有OID空间中注册语言当然是可能的。如果在专用OID空间中注册语言用于实验,或者仅在MIB模块的分发不会导致任何维护问题的环境中使用语言,则在专用OID空间中注册语言尤其有吸引力。

Any additions or changes to the list of languages registered via IANA require Designated Expert Review as defined in the IANA guidelines [RFC2434]. The Designated Expert will be selected by the IESG Area Director for the IETF Operations and Management Area.

根据IANA指南[RFC2434]的规定,对通过IANA注册的语言列表的任何添加或更改都需要指定专家审查。IESG区域总监将为IETF运营和管理区域选择指定专家。

10. Security Considerations
10. 安全考虑

There are a number of management objects defined in this MIB that have a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations.

此MIB中定义了许多管理对象,它们的MAX-ACCESS子句为read-write和/或read-create。在某些网络环境中,此类对象可能被视为敏感或易受攻击。在没有适当保护的非安全环境中支持SET操作可能会对网络操作产生负面影响。

SNMPv1 by itself is not a secure environment. Even if the network itself is secure (for example by using IPSec), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB.

SNMPv1本身不是一个安全的环境。即使网络本身是安全的(例如通过使用IPSec),即使如此,也无法控制安全网络上的谁可以访问和获取/设置(读取/更改/创建/删除)此MIB中的对象。

It is recommended that the implementers consider the security features as provided by the SNMPv3 framework. Specifically, the use of the User-based Security Model RFC 2574 [RFC2574] and the View-based Access Control Model RFC 2575 [RFC2575] is recommended.

建议实施者考虑SNMPv3框架提供的安全特性。具体而言,建议使用基于用户的安全模型RFC 2574[RFC2574]和基于视图的访问控制模型RFC 2575[RFC2575]。

It is then a customer/user responsibility to ensure that the SNMP entity giving access to an instance of this MIB, is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them.

然后,客户/用户有责任确保授予对此MIB实例访问权限的SNMP实体被正确配置为仅授予那些拥有确实获取或设置(更改/创建/删除)对象的合法权限的主体(用户)对对象的访问权限。

This MIB provides the ability to distribute applications written in an arbitrary language to remote systems in a network. The security features of the languages available in a particular implementation should be taken into consideration when deploying an implementation of this MIB.

此MIB提供将以任意语言编写的应用程序分发到网络中的远程系统的能力。部署此MIB的实现时,应考虑特定实现中可用语言的安全特性。

To facilitate the provisioning of access control by a security administrator using the View-Based Access Control Model (VACM) defined in RFC 2575 [RFC2575] for tables in which multiple users may need to independently create or modify entries, the initial index is used as an "owner index". Such an initial index has a syntax of SnmpAdminString, and can thus be trivially mapped to a securityName or groupName as defined in VACM, in accordance with a security policy.

为了方便安全管理员使用RFC 2575[RFC2575]中定义的基于视图的访问控制模型(VACM)为多个用户可能需要独立创建或修改条目的表提供访问控制,初始索引用作“所有者索引”。这样的初始索引具有snmpadmin语法,因此可以根据安全策略简单地映射到VACM中定义的securityName或groupName。

All entries in related tables belonging to a particular user will have the same value for this initial index. For a given user's entries in a particular table, the object identifiers for the information in these entries will have the same subidentifiers (except for the "column" subidentifier) up to the end of the encoded owner index. To configure VACM to permit access to this portion of the table, one would create vacmViewTreeFamilyTable entries with the value of vacmViewTreeFamilySubtree including the owner index portion, and vacmViewTreeFamilyMask "wildcarding" the column subidentifier. More elaborate configurations are possible.

相关表中属于特定用户的所有条目对此初始索引具有相同的值。对于特定表中的给定用户项,这些项中信息的对象标识符在编码的所有者索引结束之前将具有相同的子标识符(除了“列”子标识符)。要将VACM配置为允许访问表的这一部分,可以创建vacmViewTreeFamilyTable条目,其值为vacmViewTreeFamilySubtree,包括所有者索引部分,以及VACMVIEWTREEFAMILYMAK“通配符”列子标识符。更复杂的配置是可能的。

The VACM access control mechanism described above provides control over SNMP access to Script MIB objects. There are a number of other access control issues that are outside of the scope of this MIB. For example, access control on URLs, especially those that use the file scheme, must be realized by the underlying operating system. A mapping of the owner index value to a local operating system security

上述VACM访问控制机制提供对脚本MIB对象的SNMP访问的控制。还有许多其他访问控制问题不在此MIB范围内。例如,对URL的访问控制,特别是那些使用文件方案的URL,必须由底层操作系统实现。所有者索引值到本地操作系统安全性的映射

user identity should be used by an implementation of this MIB to control access to operating system resources when resolving URLs or executing scripts.

此MIB的实现应使用用户标识来控制解析URL或执行脚本时对操作系统资源的访问。

11. Intellectual Property
11. 知识产权

The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat.

IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何努力来确定任何此类权利。有关IETF在标准跟踪和标准相关文件中权利的程序信息,请参见BCP-11。可从IETF秘书处获得可供发布的权利声明副本和任何许可证保证,或本规范实施者或用户试图获得使用此类专有权利的一般许可证或许可的结果。

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director.

IETF邀请任何相关方提请其注意任何版权、专利或专利申请,或其他可能涉及实施本标准所需技术的专有权利。请将信息发送给IETF执行董事。

12. Changes from RFC 2592
12. RFC 2592的变更

The following list documents major changes from the previous version of this document, published as RFC 2592:

以下列表记录了本文件先前版本(RFC 2592)的主要变化:

- Updated the boilerplate and the references.

- 更新了样板和参考资料。

- Added revision clauses to the module identity macro.

- 在模块标识宏中添加了修订子句。

- Various typos have been fixed.

- 各种打字错误已被修复。

- Added SIZE restriction to smScriptName which is consistent with smLaunchScriptName. Added DEFVAL and some clarifying text on the usage of a zero-length string to smLaunchScriptName.

- 为smScriptName添加了大小限制,该限制与smLaunchScriptName一致。在smLaunchScriptName中添加了deffal和一些关于使用零长度字符串的澄清文本。

- Clarified under which conditions changes to smScriptLanguage are invalid.

- 澄清在哪些情况下对smScriptLanguage的更改无效。

- Added new smScriptError and smLaunchError objects.

- 添加了新的smScriptError和smLaunchError对象。

- Setting smRunLifeTime to its maximum value now disables the timer so that scripts can run forever.

- 将smRunLifeTime设置为其最大值将禁用计时器,以便脚本可以永远运行。

- Added the `autostart' value to the smLaunchAdminStatus object which allows to launch scripts during the disable->enabled transition of smLaunchOperStatus.

- 将“autostart”值添加到smLaunchAdminStatus对象,该对象允许在smLaunchOperStatus的禁用->启用转换期间启动脚本。

- Added an additional step to the "creating a launch button" procedure which sets the smLaunchRowStatus to active.

- 在“创建启动按钮”过程中添加了一个附加步骤,该步骤将smLaunchRowStatus设置为active。

- Added a final polling step in the procedure to launch a script.

- 在启动脚本的过程中添加了最后一个轮询步骤。

- Added a final polling step in the procedure to terminate a running script.

- 在过程中添加了最后一个轮询步骤,以终止正在运行的脚本。

- Removed the requirement that smRunError is a zero-length string while the smRunExitCode has the value `noError'.

- 删除了smRunError为零长度字符串,而smRunExitCode的值为'noError'的要求。

- Added new smScriptLastChange, smLaunchLastChange, smRunResultTime, and smRunErrorTime objects.

- 添加了新的smScriptLastChange、smLaunchLastChange、smRunResultTime和smRunErrorTime对象。

- Added some additional boilerplate text to the security considerations section.

- 在“安全注意事项”部分添加了一些额外的样板文本。

- Added a new smLaunchRowExpireTime object and a new `expired' state to the smLaunchOperStatus object.

- 向smLaunchOperStatus对象添加了新的smLaunchRowExpireTime对象和新的“expired”状态。

- Clarified that the smRunState object reports the actual state if attempts to suspend or resume scripts fail.

- 阐明了如果尝试挂起或恢复脚本失败,smRunState对象将报告实际状态。

- Clarified the conditions under which set operations to smLaunchControl and smRunControl can lead to inconsistentValue errors.

- 阐明了将操作设置为smLaunchControl和smRunControl可能导致不一致值错误的条件。

- Added procedures for suspending/resuming/removing running scripts to section 7.

- 在第7节中添加了暂停/恢复/删除正在运行的脚本的过程。

- Added text to the smScriptStorageType description to better highlight the difference between the storage type of the script row entry and the script itself.

- 在smScriptStorageType描述中添加文本,以更好地突出显示脚本行条目的存储类型与脚本本身之间的差异。

- Updated the smCompliances statement to not require write access to the smCodeText object after row creation.

- 更新了smCompliances语句,使其在创建行后不需要对smCodeText对象进行写访问。

- Deprecated smCompliance, smScriptGroup, smLaunchGroup, smRunGroup, smNotificationsGroup and created smCompliance2, smScriptGroup2, smLaunchGroup2, smRunGroup2 and smNotificationsGroup2 that take care of the new objects and notifications.

- 已弃用的smCompliance、smScriptGroup、smLaunchGroup、SMRungGroup、smNotificationsGroup,并创建了smCompliance 2、smScriptGroup2、smLaunchGroup2、SMRungGroup2和smNotificationsGroup2,用于处理新对象和通知。

13. Acknowledgments
13. 致谢

This document was produced by the IETF Distributed Management (DISMAN) working group.

本文件由IETF分布式管理(DISMAN)工作组编制。

14. References
14. 工具书类

[RFC2571] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999.

[RFC2571]Harrington,D.,Presohn,R.和B.Wijnen,“描述SNMP管理框架的体系结构”,RFC 2571,1999年4月。

[RFC1155] Rose, M. and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990.

[RFC1155]Rose,M.和K.McCloghrie,“基于TCP/IP的互联网管理信息的结构和识别”,STD 16,RFC 1155,1990年5月。

[RFC1212] Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991.

[RFC1212]Rose,M.和K.McCloghrie,“简明MIB定义”,STD 16,RFC 1212,1991年3月。

[RFC1215] Rose, M., "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991.

[RFC1215]Rose,M.,“定义用于SNMP的陷阱的约定”,RFC1215,1991年3月。

[RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.

[RFC2578]McCloghrie,K.,Perkins,D.,Schoenwaeld,J.,Case,J.,Rose,M.和S.Waldbusser,“管理信息的结构版本2(SMIv2)”,STD 58,RFC 2578,1999年4月。

[RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.

[RFC2579]McCloghrie,K.,Perkins,D.,Schoenwaeld,J.,Case,J.,Rose,M.和S.Waldbusser,“SMIv2的文本约定”,STD 58,RFC 2579,1999年4月。

[RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999.

[RFC2580]McCloghrie,K.,Perkins,D.,Schoenwaeld,J.,Case,J.,Rose,M.和S.Waldbusser,“SMIv2的一致性声明”,STD 58,RFC 25801999年4月。

[RFC1157] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, May 1990.

[RFC1157]Case,J.,Fedor,M.,Schoffstall,M.和J.Davin,“简单网络管理协议”,STD 15,RFC 1157,1990年5月。

[RFC1901] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996.

[RFC1901]Case,J.,McCloghrie,K.,Rose,M.和S.Waldbusser,“基于社区的SNMPv2简介”,RFC 19011996年1月。

[RFC1906] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996.

[RFC1906]Case,J.,McCloghrie,K.,Rose,M.和S.Waldbusser,“简单网络管理协议(SNMPv2)版本2的传输映射”,RFC 1906,1996年1月。

[RFC2572] Case, J., Harrington D., Presuhn R. and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999.

[RFC2572]Case,J.,Harrington D.,Presohn R.和B.Wijnen,“简单网络管理协议(SNMP)的消息处理和调度”,RFC 2572,1999年4月。

[RFC2574] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999.

[RFC2574]Blumenthal,U.和B.Wijnen,“简单网络管理协议(SNMPv3)第3版基于用户的安全模型(USM)”,RFC 2574,1999年4月。

[RFC1905] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996.

[RFC1905]Case,J.,McCloghrie,K.,Rose,M.和S.Waldbusser,“简单网络管理协议(SNMPv2)版本2的协议操作”,RFC 1905,1996年1月。

[RFC2573] Levi, D., Meyer, P. and B. Stewart, "SNMPv3 Applications", RFC 2573, April 1999.

[RFC2573]Levi,D.,Meyer,P.和B.Stewart,“SNMPv3应用”,RFC 2573,1999年4月。

[RFC2575] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, April 1999.

[RFC2575]Wijnen,B.,Presohn,R.和K.McCloghrie,“用于简单网络管理协议(SNMP)的基于视图的访问控制模型(VACM)”,RFC 2575,1999年4月。

[RFC2570] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction to Version 3 of the Internet-standard Network Management Framework", RFC 2570, April 1999.

[RFC2570]Case,J.,Mundy,R.,Partain,D.和B.Stewart,“互联网标准网络管理框架第3版简介”,RFC 25701999年4月。

[RFC2028] Hovey, R. and S. Bradner, "The Organizations Involved in the IETF Standards Process", BCP 11, RFC 2028, October 1996.

[RFC2028]Hovey,R.和S.Bradner,“参与IETF标准过程的组织”,BCP 11,RFC 2028,1996年10月。

[RFC2396] Berners-Lee, T., Fielding, R. and L. Masinter, " Uniform Resource Identifiers (URI): Generic Syntax", RFC 2396, August 1998.

[RFC2396]Berners Lee,T.,Fielding,R.和L.Masinter,“统一资源标识符(URI):通用语法”,RFC 2396,1998年8月。

[RFC959] Postel, J. and J. Reynolds, "File Transfer Protocol", STD 9, RFC 959, October 1985.

[RFC959]Postel,J.和J.Reynolds,“文件传输协议”,标准9,RFC959,1985年10月。

[RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.

[RFC2616]菲尔丁,R.,盖蒂斯,J.,莫卧儿,J.,弗莱斯蒂克,H.,马斯特,L.,利奇,P.和T.伯纳斯李,“超文本传输协议——HTTP/1.1”,RFC 2616,1999年6月。

[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.

[RFC2434]Narten,T.和H.Alvestrand,“在RFCs中编写IANA注意事项部分的指南”,BCP 26,RFC 2434,1998年10月。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。

15. Editors' Addresses
15. 编辑地址

David B. Levi Nortel Networks 4401 Great America Parkway Santa Clara, CA 95052-8185 USA

David B.Levi Nortel Networks 4401美国加利福尼亚州圣克拉拉大美洲大道95052-8185

   Phone: +1 423 686 0432
   EMail: dlevi@nortelnetworks.com
        
   Phone: +1 423 686 0432
   EMail: dlevi@nortelnetworks.com
        

Juergen Schoenwaelder TU Braunschweig Bueltenweg 74/75 38106 Braunschweig Germany

德国布埃尔滕韦格布伦瑞克大学74/75 38106

   Phone: +49 531 391-3283
   EMail: schoenw@ibr.cs.tu-bs.de
        
   Phone: +49 531 391-3283
   EMail: schoenw@ibr.cs.tu-bs.de
        
16. Full Copyright Statement
16. 完整版权声明

Copyright (C) The Internet Society (2001). All Rights Reserved.

版权所有(C)互联网协会(2001年)。版权所有。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

本文件及其译本可复制并提供给他人,对其进行评论或解释或协助其实施的衍生作品可全部或部分编制、复制、出版和分发,不受任何限制,前提是上述版权声明和本段包含在所有此类副本和衍生作品中。但是,不得以任何方式修改本文件本身,例如删除版权通知或对互联网协会或其他互联网组织的引用,除非出于制定互联网标准的需要,在这种情况下,必须遵循互联网标准过程中定义的版权程序,或根据需要将其翻译成英语以外的其他语言。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上述授予的有限许可是永久性的,互联网协会或其继承人或受让人不会撤销。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

本文件和其中包含的信息是按“原样”提供的,互联网协会和互联网工程任务组否认所有明示或暗示的保证,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。

Acknowledgement

确认

Funding for the RFC Editor function is currently provided by the Internet Society.

RFC编辑功能的资金目前由互联网协会提供。