SWbemRefresher对象是一个容器对象,可以刷新所有添加到其中的对象的数据。可以从容器添加或删除单个实例和实例枚举器。添加的对象集(由SWbemRefreshableItem实例表示的每个项目)可以被视为一个集合并枚举。任何类的WMI实例都可以添加到SWbemRefresher对象中。即使实例数据提供程序不是高性能提供程序,刷新对象仍然可以更新刷新调用中的数据。如果数据通过高性能提供程序提供,并且AutoReconnect属性为TRUE,则SWbemRefresher对象尝试重新建立与数据提供程序的连接断开。该对象可以由VBScript CreateObject调用创建。
可以通过调用SWbemRefresher.Refresh方法或SWbemObjectEx.Refresh_方法来执行刷新操作。
方法
SWbemRefresher对象定义了以下方法。
方法 |
描述 |
加 |
在刷新对象中的集合中添加一个新的可刷新对象。 |
AddEnum |
在刷新对象中添加一个新的枚举器。 |
DeleteAll |
从清理对象中的集合中删除所有项目。 |
项目 |
从集合返回指定的复习项。 |
刷新 |
更新清理对象中包含的所有项目。 |
去掉 |
从复习器中删除具有指定索引的刷新项目对象或对象集。 |
属性
SWbemRefresher对象定义了以下属性。
属性 |
描述 |
AutoReconnect |
指示如果连接断开,刷新器是否自动重新连接到远程提供程序。 |
计数 |
包含刷新对象中的项目数。 |
示例代码[Script]
以下示例说明如何使用加和AddEnum方法创建SWbemRefresher对象来存储单个实例和枚举实例,刷新数据,并使用Item属性获取SWbemRefreshableItem对象。
'获取命名空间连接
设置objServicesCimv2 = GetObject(“winmgmts:root \\ cimv2”)
设置objServicesDefault = GetObject(“winmgmts:root \\ default”)
'创建一个刷新对象
set objRefresher = CreateObject(“WbemScripting.SWbemRefresher”)
'添加单个对象(SWbemObjectEx)到复习。“@”
'被使用,因为_CIMOMIdentification是一个单例类
“一个实例存在。请注意
'SWbemRefreshableItem.Object属性必须
“被指定或者SWbemRefresher.Refresh调用将失败。
设置objRefreshableItem1 = objRefresher。_
Add(objServicesDefault,“__CIMOMIdentification = @”)。Object
'添加一个枚举器(SWbemObjectSet对象)
“到复习。请注意
'SWbemRefreshableItem.ObjectSet属性
“必须指定或SWbemRefresher.Refresh调用将失败。
设置objRefreshableItem2 = objRefresher。_
AddEnum(objServicesCimv2,“Win32_Process”)。ObjectSet
'显示清理中的项目数量并更新数据。
MsgBox“refresher中的项数=”&objRefresher.Count
objRefresher.Refresh
“通过复习来迭代。SWbemRefreshable
'Item.IsSet检查项目是否是枚举器。
对于objRefherher中的每个RefreshableItem
如果RefreshableItem.IsSet那么
MsgBox“Item with index”&RefreshableItem.Index {98??9796005}_
“是一个枚举器,包含”_
&RefreshableItem.ObjectSet.Count &“进程”
其他
MsgBox“Item with index”&RefreshableItem.Index _
&“是包含WMI版本”_“的单个对象
& objRefreshableItem1.VersionCurrentlyRunning
万一
下一个
要求
客户 |
需要Windows Vista或Windows XP。 |
服务器 |
需要Windows Server 2008或Windows Server 2003。 |
类型库 |
使用Wbemdisp.tlb。 |
DLL |
需要Wbemdisp.dll。 |