Поделиться через


Метод Session.Enumerate

Перечисляет таблицу, коллекцию данных или ресурс журнала. Чтобы создать запрос, включите параметр фильтра и параметр диалекта в перечисление. Для создания запросов также можно использовать объект ResourceLocator . Дополнительные сведения см. в разделе Перечисление или перечисление всех экземпляров ресурса.

Синтаксис

Session.Enumerate( _
  ByVal resourceUri, _
  [ ByVal filter ], _
  [ ByVal dialect ], _
  [ ByVal flags ] _
)

Параметры

resourceUri [in]

Идентификатор извлекаемого ресурса.

Этот параметр может содержать одно из следующих значений:

filter [in, необязательный]

Фильтр, определяющий, какие элементы ресурса возвращаются перечислением . При перечислении ресурса возвращаются только те элементы, которые соответствуют условиям фильтра. Включение параметра фильтра и параметра диалекта в перечисление преобразует перечисление в запрос. Пример см. в разделе Запросы для конкретных экземпляров ресурса.

Если у вас есть объект ResourceLocator для параметра resourceURI , этот параметр не следует использовать.

диалект [in, необязательный]

Язык, используемый фильтром. WQL, подмножество SQL, используемое WMI, является единственным поддерживаемым языком.

Если у вас есть объект ResourceLocator для параметра resourceURI , этот параметр не следует использовать.

flags [in, необязательный]

Параметр, который должен содержать флаг в перечислении __WSManEnumFlags . Дополнительные сведения см. в разделе Константы перечисления.

Возвращаемое значение

Объект Enumerator , содержащий результаты перечисления.

Комментарии

Дополнительные сведения об ограничении сетевых вызовов во время перечисления см. в разделе Свойство BatchItems .

Имейте в виду, что если флаги содержат константы перечисленияWSManFlagHierarchyDeepBasePropsOnly или WSManFlagHierarchyShallow , то служба удаленного управления Windows возвращает код ошибки ERROR_WSMAN_POLYMORPHISM_MODE_UNSUPPORTED.

Если указан фильтр, он должен быть допустимым документом по отношению к схеме ресурса. Параметр диалекта является необязательным. Однако если строка фильтра начинается с <, но не является фрагментом XML, включите параметр диалекта или установите флаг WSManFlagNonXmlText в параметре flags . Дополнительные сведения см. в разделе Константы перечисления.

Соответствующий метод C++ — IWSManSession::Enumerate.

Примеры

В следующем примере кода VBScript перечисляются экземпляры Win32_LogicalDisk на удаленном компьютере, указанном полным доменным именем (servername.domain.com). Имейте в виду, что освобождение объекта перечисления очищает ожидающие запросы перечисления. Подпрограмма DisplayOutput использует xml-файл преобразования ПРОГРАММЫ командной строки Winrm (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_LogicalDisk"

Set objResultSet = objSession.Enumerate( strResource )

While Not objResultSet.AtEndOfStream
 
 DisplayOutput( objResultSet.ReadItem ) 

Wend

'****************************************************
' 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

См. также раздел

Сеанс

Запрос конкретных экземпляров ресурса

BatchItems

ResourceLocator