Enumerator.ReadItem 方法

从资源中检索项,并返回该项的 XML 表示形式。

语法

Enumerator.ReadItem( _
  ByVal resource _
)

参数

resource

项的 URI。

返回值

项的 XML 表示形式。

备注

若要限制读取的项数,请设置 Session.BatchItems 属性。

请注意,释放枚举对象会清理所有挂起的枚举请求。

Session.Enumerate 方法获取集合的方式与 WMI 查询(如 SELECT * from Win32_LogicalDisk)在 SWbemObjectSet 中返回集合的方式不同。 若要将文件作为文本流读取,请创建脚本 TextStream 对象并调用 TextStream.Readline 方法读取文件的每一行。 以类似的方式调用 Session.Enumerate 方法以获取 Enumerator 对象,然后调用 Enumerator.ReadItem 方法。 与从文本文件读取时一样,可以检查 Enumerator.AtEndOfStream 属性来检查是否已到达数据项的末尾。

示例

以下 VBScript 示例调用 Session.Enumerate 方法以获取计划作业的列表。 DisplayOutput 子例程使用 Winrm 命令行工具 XML 转换文件 (WsmTxt.xsl) 以表格形式输出数据。

Const RemoteComputer = "servername.domain.com"

Set objWsman = CreateObject( "WSMan.Automation" )
Set objSession = objWsman.CreateSession( "https://" & RemoteComputer )

strResource = "http://schemas.microsoft.com/wbem/wsman/1/" &_
              "wmi/root/cimv2/Win32_ScheduledJob"

Set objResultSet = objSession.Enumerate( strResource )
NumOfJobs = 0

While Not objResultSet.AtEndOfStream
    NumOfJobs = NumOfJobs + 1
    DisplayOutput( objResultSet.ReadItem ) 
Wend

Wscript.Echo "There are " & NumOfJobs & " jobs scheduled."

'****************************************************
' Displays WinRM XML message using built-in XSL
'****************************************************
Sub DisplayOutput( strWinRMXml )
    Dim xmlFile, xslFile
    Set xmlFile = CreateObject( "MSXml2.DOMDocument.3.0" ) 
    Set xslFile = CreateObject( "MSXml2.DOMDocument.3.0" )
    xmlFile.LoadXml( strWinRMXml )
    xslFile.Load( "WsmTxt.xsl" )
    Wscript.Echo xmlFile.TransformNode( xslFile ) 
End Sub

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008
标头
WSManDisp.h
IDL
WSManDisp.idl

WSManDisp.tlb
DLL
WSMAuto.dll

另请参阅

枚举器

枚举或列出资源的所有实例