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 |
标头 |
|
IDL |
|
库 |
|
DLL |
|