📄 8.1 windows management instrumentation.htm
字号:
width=550 src="8.1 Windows Management Instrumentation.files/8-3.gif"
border=0 onclick="imgclick"></P></CENTER>
<CENTER style="LINE-HEIGHT: 25px">
<TABLE style="LINE-HEIGHT: 25px" border=0>
<TBODY style="LINE-HEIGHT: 25px">
<TR style="LINE-HEIGHT: 25px">
<TD style="LINE-HEIGHT: 25px" align=middle><FONT
style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2><FONT style="LINE-HEIGHT: 25px" face=arial
color=#3e80d7 size=2><B
style="LINE-HEIGHT: 25px"> 图8-3 </B></FONT>WMI提供之与服务相关的核心类别</FONT></TD></TR></TBODY></TABLE></CENTER>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=Arial color=#3e77d7 size=3
Black><B style="LINE-HEIGHT: 25px">说明</B></FONT> </P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>类别名称前面加上「CIM_」以指示被DMTF定义的类别,而前面加上「Win32_」则表示被Microsoft定义。如果您打算将新的类别加至CIMV2命名空间,您就应该为您所熟悉的结构描述决定一个名称,例如商标,以确保没有其他相同的名称被使用。</FONT></P>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#3e72d7
size=4><B style="LINE-HEIGHT: 25px">CIM_ManagedSystemElement<BR
style="LINE-HEIGHT: 25px"> </B></FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>CIM_ManagedSystemElement类别是所有储存在CIMV2命名空间之操作上资料的基础类别。它描述了所有系统的实体和逻辑元件。CIM_Managed
SystemElement是为了正确取得二个类别的基础类别:CIM_LogicalElement和CIM_PhysicalElement。</FONT></P>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=Arial color=#3e77d7 size=3
Black><B style="LINE-HEIGHT: 25px">说明</B></FONT> </P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>您应该永远不会用CIM_ManagedSystemElement来取得一个类别。如果您这么做的话,基本上是表示您定义的资料并非实体或逻辑的资料;然而,CIM之结构描述要求每一个系统元件为实体或逻辑二者之一,而且不能二者皆是。</FONT></P>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>CIM_ManagedSystemElement为每一个预期要提供数值的系统元件定义如下所示的一组基本属性:</FONT></P><FONT
style="LINE-HEIGHT: 25px" face=arial color=#000000 size=2>
<UL style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px"><FONT style="LINE-HEIGHT: 25px"
face=arial color=#3e80d7 size=2><B
style="LINE-HEIGHT: 25px"> Caption </B></FONT>物件的短文字说明(一个单行字串)。<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px"><FONT style="LINE-HEIGHT: 25px"
face=arial color=#3e80d7 size=2><B
style="LINE-HEIGHT: 25px"> Description </B></FONT>不限制大小的物件文字说明。<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px"><FONT style="LINE-HEIGHT: 25px"
face=arial color=#3e80d7 size=2><B
style="LINE-HEIGHT: 25px"> InstallDate </B></FONT>当物件被安装时,指示日期与时间值。缺少这个值并不表示没有安装此物件。<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px"><FONT style="LINE-HEIGHT: 25px"
face=arial color=#3e80d7 size=2><B
style="LINE-HEIGHT: 25px"> Name </B></FONT>已知物件的标签。可以覆写(override)取得类别的名称以建立一个属性机码,但这并非是必需的。<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px"><FONT style="LINE-HEIGHT: 25px"
face=arial color=#3e80d7 size=2><B
style="LINE-HEIGHT: 25px"> Status </B></FONT>一个指示物件之目前状能的列举。<BR
style="LINE-HEIGHT: 25px"> </LI></UL></FONT>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=Arial color=#3e77d7 size=3
Black><B style="LINE-HEIGHT: 25px">说明</B></FONT> </P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>在这个部份中描述的这些属性以及那些为了其他类别而定义的内容皆被描述在WMI SDK与CIM
Studio里面。选择一个包含属性的类别并按下Help For Class按钮即可察看CIM
Studio的一些属性描述。</FONT></P>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#3e72d7
size=4><B style="LINE-HEIGHT: 25px">Win32_BaseService<BR
style="LINE-HEIGHT: 25px"> </B></FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>Win32_BaseService类别描述了被安装在服务控制管理员登录资料库的可执行程序。此类别的实例会识别服务或设备驱动程序。您的服务应该使用Win32_Service为它的基础类别,以取得一个类别(于下一节讨论)。一个设备驱动程序可以用Win32_SystemDriver为它的基础类别,以取得一个类别。</FONT></P>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=Arial color=#3e77d7 size=3
Black><B style="LINE-HEIGHT: 25px">说明</B></FONT> </P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>您应该永远不会从Win32_BaseService中取得一个类别,那么做表示告诉系统您已经改变了作业系统的架构。</FONT></P>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>Win32_BaseService类别支援的属性包括:</FONT></P><FONT
style="LINE-HEIGHT: 25px" face=arial color=#000000 size=2>
<UL style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px">AcceptPause<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px">PathName<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px">AcceptStop<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px">ServiceSpecificExitCode<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px">DesktopInteract<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px">ServiceType<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px">DisplayName<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px">StartName<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px">ErrorControl<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px">State<BR style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px">ExitCode<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px">TagId<BR style="LINE-HEIGHT: 25px">
</LI></UL></FONT>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=Arial color=#3e77d7 size=3
Black><B style="LINE-HEIGHT: 25px">说明</B></FONT> </P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>在CIM
Studio中有一些属性拥有一个黄色箭头图示,这个黄色箭头图示指示该属性是从一个基础类别继承而来的。</FONT></P>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#3e72d7
size=4><B style="LINE-HEIGHT: 25px">Win32_Service<BR
style="LINE-HEIGHT: 25px"> </B></FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>Win32_Service类别描述了在Microsoft
Win32电脑系统上的一个服务。一个服务应用程序与本书第叁章与第四章所讨论的服务控制管理员介面相符。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>在WMI中,服务类别应该是为了管理服务而使用,而不是提供存取服务的工作。例如,它可能会不适当的宣告一个来自Win32_Service的DHCPService类别并在类别中实作了一个取得新的DHCP位址之方法。然而,它也可能在被取得的类别中适当的实作一个方法,以允许您限制可被服务回传的位址范围。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>Win32_Service类别支援了以下的属性:</FONT></P><FONT
style="LINE-HEIGHT: 25px" face=arial color=#000000 size=2>
<UL style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px">CheckPoint<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px">ProcessId<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px">WaitHint<BR
style="LINE-HEIGHT: 25px"> </LI></UL></FONT>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#3e72d7
size=4><B style="LINE-HEIGHT: 25px">CIM_ServiceAccessPoint<BR
style="LINE-HEIGHT: 25px"> </B></FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>CIM_ServiceAccessPoint类别描述了您的服务之存取位置,如同在通讯协定服务的环境条件下由应用程序和通讯埠80接收的命令列参数。使用这个类别管理存取位置。如果您需要控制例如主机的存取位置,则要提供此类别的实例。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#3e72d7
size=4><B style="LINE-HEIGHT: 25px">CIM_Setting<BR
style="LINE-HEIGHT: 25px"> </B></FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>您知道设定资料是分别被操作上的资料所描述。CIM_Setting类别为所有的设定资料提供一个基础类别。在任何您想要为服务加入与设定相关的资料时,应该透过从CIM_Setting类别取回而使它可以存取。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>定义一个应用于CIM_ManagedSystemElement的特殊设定时,请注意CIM_ElementSetting在CIM_Setting与CIM_ManagedSystemElement之间的关系。您应该永远从相关的类别中取得一个类别,以建立您的CIM_ManagedSystemElement类别(通常是一个Win32_ServiceCIM_Service或AccessPoint_class)与设定它的CIM_Setting-derived类别之间的特殊关系。您可以在CIM储存机制中储存设定资料(如您在本章前面所见的joke类别范例),但是我不建议您如此做,因为CIM储存机制不打算用于一般目的之储存,您应该在别处储存资讯,例如在登录中,并使用WMI登录提供者取回资讯。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#3e72d7
size=4><B style="LINE-HEIGHT: 25px">CIM_StatisticalInformation<BR
style="LINE-HEIGHT: 25px"> </B></FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>CIM_StatisticalInformation类别在CIMV2命名空间内的统计资料提供了一个位置。您可以选择此类别下的任何类别,并在的实例中察看它目前的统计资料。例如,看到CIM_StatisticalInformation\Win32_Perf\Win32_Perf
RawData类别下的Win32_Perf RawData_PerfDisk_PhysicalDisk类别。</FONT></P>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=Arial color=#3e77d7 size=3
Black><B style="LINE-HEIGHT: 25px">说明</B></FONT> </P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>许多类别名称包括了一些底线。严格来说,它并不被允许—这些是Microsoft没符合规则的例子。在每个您的类别名称中最好只包括一个底线;而这个底线应该要使类别名称与取回的类别名称标记区分。</FONT></P>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#3e72d7
size=4><B style="LINE-HEIGHT: 25px">关联类别<BR
style="LINE-HEIGHT: 25px"> </B></FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>我只提及一个重要特色即是关联类别,它将一些类别连接在一起。一个关联类别的范例即是您曾见过的CIM_ElementSetting,它将CIM_ManagedSystemElement连接至描述它们的结构参数设定。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>您必须了解更多重要的关联类别以正确地使用WMI。以下几个部份描述了您应该了解的关联类别。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#3e74d7
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -