Метод Session.Enumerate

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

Синтаксис

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

Параметры

resourceUri [in]

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

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

filter [in, optional]

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

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

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

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

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

флаги [in, optional]

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

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

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

Remarks

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

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

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

Соответствующий метод 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