第3章:寻找内部配置管理器

地空导弹

1234678910 第5页
第5页共10页

本节使用Win32_LogicalShareSecuritySetting类来说明如何使用CIM Studio来了解一个类别被管理对象。图3.16显示了Win32_LogicalShareSecuritySetting级显示CIM工作室。此类表示在Windows文件共享的安全设置。展开的树示出了根类,CIM_Setting,并且从每个相继的子类派生的类。

图3.16

该Win32_LogicalShareSecuritySetting级显示CIM工作室

望着树结构中,你可以看到,Win32_LogicalShareSecuritySetting从Win32_SecuritySetting,而这又是从CIM_Setting得出的。类视图在右窗格中显示Win32_LogicalShareSecuritySetting类的属性。到左边每个属性的名称,您将看到以下图标之一:

  • 黄色向下箭头指示属性是从父类继承。

  • 属性页表示属性的类中定义。

  • 计算机系统表示该属性是系统类。您还可以通过他们的名字,它总是以双下划线(__)开始认识到系统类。

作为一个例子,每个WMI类具有一定的系统性能,如__PATH,__DYNASTY,__SUPERCLASS,和__DERIVATION。这里有几点需要注意:

  • 该__PATH属性显示在命名空间层次结构类的位置。管理应用程序和脚本使用__PATH属性来连接到班级。

  • 剩余王朝、剩余超类和剩余派生都与类继承有关,分别表示派生该类的根类、其直接父类和该类的整个家族树。

  • 单击剩余派生旁边的Array按钮,将显示派生该类的父类的数组。数组本质上是遍历树已经观察到的继承信息,如图3.17

图3.17

类的阵列从该Win32_LogicalShareSecuritySetting类衍生的,如显示在CIM工作室

Win32_LogicalShareSecuritySetting的其余属性实际上表示描述Windows文件共享安全设置实例的特征。您可以看到,除了名称之外,所有这些属性都是继承的。除了名称之外没有任何独特之处的对象不会引起人们的兴趣,但是Win32_LogicalShareSecuritySetting类不仅仅是类属性。Win32_LogicalShareSecuritySetting最有趣的属性在CIM Studio类视图窗格的其余选项卡上。

单击Methods选项卡将显示Win32_LogicalShareSecuritySetting类的两个方法(GetSecurityDescriptor和SetSecurityDescriptor),如图3.18

图3.18

该Win32_LogicalShareSecuritySetting类的方法,在CIM Studio中显示,允许管理应用程序检索或修改文件共享的安全性。

获得更多信息

这些方法允许您使用实际文件共享的权限。中“类视图”右上角的工具栏上的“帮助”按钮图3.18提供了关于类的其他信息。


一个示例帮助入口-Win32_LogicalShareSecuritySetting的帮助条目返回以下信息:

对于CIM_Setting对象的逻辑文件标题的短文本描述(一行字符串)的安全设置。ControlFlags继承相关的标志。看到CIM_Setting对象的SECURITY_DESCRIPTOR_CONTROL描述的文本描述。命名共享的名称SettingID通过该CIM_Setting对象是已知的标识符。UINT32 GetSecurityDescriptor([OUT]对象:Win32_SecurityDescriptor描述符);检索对象的安全描述符的结构示意图。该方法返回,可以被解释为一个整数值如下:0  - 成功完成。2  - 用户不能够访问所需的信息。8  - 未知故障。9  - 用户没有足够的权限。 21 - The specified parameter is invalid. Other - For integer values other than those listed above, refer to Win32 error code documentation. Descriptor  uint32 SetSecurityDescriptor( [in] object:Win32_SecurityDescriptor Descriptor ); Sets security descriptor to the specified structure. The method returns an integer value that can be interpreted as follows: 0 - Successful completion. 2 - The user does not have access to the requested information. 8 - Unknown failure. 9 - The user does not have adequate privileges. 21 - The specified parameter is invalid. Other - For integer values other than those listed above, refer to Win32 error code documentation. Descriptor 

全部放在一起

在“A样本帮助条目”栏示出了示例Win32_LogicalShareSecuritySetting该GetSecurityDescriptor方法返回文件共享的当前安全描述符类型Win32_SecurityDescriptor的对象。该SetSecurityDescriptor方法接受Win32_SecurityDescriptor对象作为输入和替换与在安全描述符对象提供的信息共享的安全性描述符。该示例还列出了这些方法返回的状态码。

在示出的类视图关联选项卡上的信息,图3.19,提供了理解Win32_LogicalShareSecuritySetting实现的关键。

图3.19

在CIM Studio中显示的Win32_LogicalShareSecuritySetting类关联将共享安全设置的对象链接到表示共享和共享的ACL条目的对象。

中显示的Win32_LogicalShareSecuritySetting Associations选项卡图3.19显示与Win32_Share类的关联,以及与Win32_SID类的两个实例的关联。带有对角箭头的类图标表示连接其他类的关联类。如果将鼠标光标移动到类的图标关联类链接Win32_LogicalShareSecuritySetting Win32_SID类实例,您可以看到,一个是Win32_LogicalShareAccess类实例,另一个是Win32_LogicalShareAuditing类实例。

  • 所述Win32_LogicalShareAccess关联的实例表示在DACL访问控制条目(ACE)(即,共享权限)。

  • 该Win32_LogicalShareAuditing实例表示的份额,在SACL(审计设置)的ACE。您可以双击任何一个该选项卡上显示导航到它在类视图类。

  • 由于Win32_LogicalShareSecuritySetting类的对象允许您在系统上实时数据的工作,你会想到这是一个动态类。您可以通过返回属性或方法选项卡,右键单击任意属性,并选择对象预选赛验证这一点。所述Win32_LogicalShareSecuritySetting对象限定符示于图3.20,包括动态限定符,其类型为布尔型,值为True。

图3.20

在CIM Studio中显示的Win32_LogicalShareSecuritySetting类预选赛

从类视图,你也可以使用实例按钮来显示类的所有实例,您可以通过双击它打开一个实例的属性。这部分 ”硬件清单通过WMI”讨论如何使用其他的WMI管理工具中,WMI对象浏览器,可以查看类的实例。就在工具栏上面是推出MOF发生器和MOF编译器向导的图标,如前所示图3.16。要启动MOF编译器,您必须检查类旁边的类图标并双击向导图标。定义Win32_LogicalShareSecuritySetting类的MOF语言如下:

# pragma名称空间(“\ \ \ \ \ \ \ \ CIMV2根。”)/ / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / / *类:Win32_LogicalShareSecuritySetting / / *来自:Win32_SecuritySetting / / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *(动态:ToInstance提供者(“SECRCW32”):ToInstance,地区(1033):ToInstance, UUID(“{8502 c591 fbb - 11 - 5 - - d2 - aac1 - 006008 - c78bc7}”):ToInstance]类Win32_LogicalShareSecuritySetting: Win32_SecuritySetting{[键,写道:ToSubClass]字符串名称;[Privileges{" SeSecurityPrivilege ", " SeRestorePrivilege "}: ToSubClass, implementation, ValueMap{" 0 ", " 2 ", " 8 ", " 9 ", " 21 ", " ..uint32 GetSecurityDescriptor([OUT] Win32_SecurityDescriptor]);[Privileges{" SeSecurityPrivilege ", " SeRestorePrivilege "}: ToSubClass, implementation, ValueMap{" 0 ", " 2 ", " 8 ", " 9 ", " 21 ", " ..uint32 SetSecurityDescriptor([IN] Win32_SecurityDescriptor]);};

财政部入口的第一行,的#pragma命名空间(“\\\\。\\ \\ ROOT CIMV2”)是一个预处理器命令指示所述MOF编译到MOF定义加载到根\ CIMV2命名空间。注释块以下,这表明类名类别:Win32_LogicalShareSecuritySetting和派生类来自:Win32_SecuritySetting。接下来,对象预选赛的括号列表中(参见图3.20为对象限定符的GUI表示):

  • 动态预选赛指示类是动态的,并会在运行时被实例化。

  • 提供商限定符指定实例提供程序为“SECRCW32”。

  • 现场限定符表示类的语言环境,1033(美国英语)。

  • UUID限定符是类的一个全局唯一标识符。

每个这些限定符传播到类实例,由所指示的toinstance关键词。

下一节包含类的声明Win32_LogicalShareSecuritySetting:Win32_SecuritySetting。该声明从Win32_SecuritySetting基类派生Win32_LogicalShareSecuritySetting类。类声明的主体声明本地定义的类属性和方法。Name属性(共享的名称)被声明为String类型并指定为键值,表明它唯一标识类的实例。GetSecurityDescriptor和SetSecurityDescriptor方法都是uint32类型,表示每个方法都返回一个32位的无符号整数。GetSecurityDescriptor有一个类型为Win32_SecurityDescriptor的输出参数,而SetSecurityDescriptor有一个相应的相同类型的输入参数。在这些方法定义的前面,你会看到下面指定的方法限定符:

  • 特权要求操作的Win32安全描述符所需的访问权限。

  • 实施正在指示的方法的布尔值在类中实现。

  • Valuemap指定方法的返回值。在“A样帮助条目”侧栏列出了每个值的含义。

除了本地实现的属性和限定符,所述Win32_LogicalShareSecuritySetting类继承属性和限定符被定义为它的父类,Win32_SecuritySetting的一部分。

在继续之前,你可能想在root \ CIMV2命名空间中探索其他几类:

  • 您的方式工作从Win32_LogicalShareSecuritySetting类继承树,看看每个类起源的遗传特性。此外,请注意,如果你带了对象预选赛上的父类,你可以看到这些都是合格的抽象类。

  • 在Win32_LogicalShareSecuritySetting类的直接兄弟是Win32_LogicalFileSecuritySetting类。请注意,在性能和协会对这个类的差异。共享安全和文件安全有共同但有几个重要的区别许多特点。看到他们如何都从Win32_SecuritySetting类派生展示了力量和类继承的灵活性。

  • 展开CIM_StatisticalInformation根类,然后展开Win32_Perf类。Win32_Perf的两个分支展示了各种性能计数器是如何作为托管对象实现的。

本节看了几个在root \ CIMV2命名空间中的缺省类,并讨论了如何使用CIM Studio来探索WMI命名空间。该“硬件清单通过WMI本节将介绍ConfigMgr如何使用根\CIMV2中的类,并添加一些自己的类。

根\ CCM命名空间

ConfigMgr客户端还使用WMI来对自己的操作进行内部控制。除了在根\CIMV2名称空间中添加类之外,ConfigMgr 2007还创建并使用了多个名称空间。

由ConfigMgr客户端产生的最重要的命名空间是Root \ CCM命名空间。连同下根\ CCM几个命名空间,这个命名空间保存配置和支配ConfigMgr客户端的操作策略。在本章的下一节介绍的硬件清单过程中使用存储在Root \ CCM \策略\计算机命名空间的策略来指定哪些库存数据从在root \ CIMV2命名空间中定义的管理对象检索。“Configuration Manager客户端WMI命名空间”一节讨论的根\ CCM命名空间的其他用途。

硬件清单通过WMI

ConfigMgr使用两个MOF文件来控制硬件库存:

1234678910 第5页
第5页共10页
工资调查:结果是