昨天大部分是概念性的文字,今天来一点实例。
我们从最基础的Management Pack开始。
任何一个包都将保护一下代码:
SCOM 2007 Management Pack 创建教程(二)_休闲
(PS:构架的XSD文件,理论上微软是会提供的,不过我找遍的technet和MSDN也没有,绝望了。。。)
这是MP包XML文件最基础的结构,然后让我们看看Managementpack中将包含哪些元素,如下图:
SCOM 2007 Management Pack 创建教程(二)_Management_02
这里对每一个元素做一个简单的介绍:
元素名称 功能
Manifest 包含包的定义信息(身份、名称及所调用的库)
TypeDefinitions 类定义,不仅仅是类还包含SCOM其他对象的定义,数据模型的定义……(PS:加密之后这个部分是不可查,脚本一类的东西可以在这里进行封装。)
Monitoring 监视,包含监视类型(对象发现【PS:准确的说是监视对象的过滤,这部分在UI中只可以替代不可以新建】、监视单元、规则、任务等……)
Tenplates 模板,这个没有太多好多说,中文大家都懂。。
Presentation Types 描述类型,这个和下面的Presentation都和UI有关
Presentation 描述,对UI的描述元素
LanguagePacks 语言包,做本地化的时候用处较大
Deletions 删除对象,更新包的时候用的通过标志来跟新原有包对象,删除过期对象
我们来动手做一个最简单的PACK。
包的名称为:Sxt Tutorial Manifest
包的身份:Sxt.Tutorial.Manifest
包所调用的库:System.Library(PS:测试。。后面会的例子会调用更多。)
文件名:Sxt.Tutorial.Manifest.xml  [注意:文件名需要和包的身份一致,否则编译时会报错,提示你包的身份和文件名不一致。]
实现代码如下:
SCOM 2007 Management Pack 创建教程(二)_教程_03 
代码分析:
元素名称 功能
Identity 身份信息
ID(Identity子元素) 身份ID
Version(Identity子元素) 版本信息
Name 名称
References 调用的库集
Reference 调用的库
Alias(Reference属性) 库的别名
ID(Reference子元素) 库的ID信息
Version(Reference子元素) 所调用库的版本
PublicKeyToken 公匙的标记(PS:对这个有兴趣的朋友可以去这里看看)
http://www.cnblogs.com/lovablebox/archive/2007/12/05/983154.html

OK,代码完,开始打包,把XML文件拷贝到MPSeal.exe所在文件夹,执行下面命令:
MPSeal.exe Sxt.Tutorial.Manifest.xml /i C:\Program Files\System Center Operations Manager 2007 /Keyfile out.snk /company Sxt

完成编译之后将在MPSeal.exe所在目录生成:Sxt.Tutorial.Manifest.mp包文件。通过SCOM管理导入包就可以查看相关的信息了。

PS:除了上文之外还有以下几点需要注意:
1、Mp包对元素顺序敏感,我在编译过程因为顺序问题发生过奇怪的报错,顺序就是按照图中从上至下。
2、编译部分,我有点懒,其实可以把库包部分拷贝到其他文件夹再进行编译,输出也可以指定文件夹。有兴趣的朋友可以查看我昨天的《SCOM2007Management Package 创建教程(一)
3、对于XML熟悉的朋友可以先去http://www.w3school.com.cn/x.asp学习学习。
4、库信息在管理中可以查看
5、今天网有问题连不上公司的服务器,编译过程以及结果明天补图:)