Share via


Enumerator.ReadItem メソッド

リソースから項目を取得し、アイテムの XML 表現を返します。

構文

Enumerator.ReadItem( _
  ByVal resource _
)

パラメーター

resource

項目の URI。

戻り値

アイテムの XML 表現。

解説

読み取るアイテムの数を制限するには、 Session.BatchItems プロパティを 設定します。

列挙オブジェクトを解放すると、保留中の列挙要求がクリーンアップされることに注意してください。

Session.Enumerate メソッドは、 などの SELECT * from Win32_LogicalDiskWMI クエリ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

関連項目

列挙子

リソースのすべてのインスタンスの列挙または一覧表示