Session.Enumerate 方法
枚举表、数据收集或日志资源。 若要创建查询,请在枚举中包含 筛选器 参数和 方言 参数。 还可以使用 ResourceLocator 对象创建查询。 有关详细信息,请参阅 枚举或列出资源的所有实例。
语法
Session.Enumerate( _
ByVal resourceUri, _
[ ByVal filter ], _
[ ByVal dialect ], _
[ ByVal flags ] _
)
参数
-
resourceUri [in]
-
要检索的资源的标识符。
此参数可以包含以下项之一:
资源的 URI。
strResourceUri = "http://schemas.microsoft.com/" _ & "wbem/wsman/1/wmi/root/cimv2/Win32_Service"
ResourceLocator 对象。
WS 寻址终结点引用,如WS-Management协议标准中所述。 有关 WS-Management 协议的公共规范的详细信息,请参阅 管理规范索引页。
-
filter [in, optional]
-
一个筛选器,用于定义枚举返回的资源中的项。 枚举资源时,仅返回与筛选条件匹配的项。 在枚举中包含 筛选器 参数和 方言 参数会将枚举转换为查询。 有关示例,请参阅 查询资源的特定实例。
如果 resourceURI 参数有 ResourceLocator 对象,则不应使用此参数。
-
方言 [in, 可选]
-
筛选器使用的语言。 WQL 是 WMI 使用的 SQL 的子集,是唯一支持的语言。
如果 resourceURI 参数有 ResourceLocator 对象,则不应使用此参数。
-
flags [in, optional]
-
一个参数,该参数必须包含 __WSManEnumFlags 枚举中的标志。 有关详细信息,请参阅 枚举常量。
返回值
一个 Enumerator 对象,其中包含枚举的结果。
备注
有关在枚举期间限制网络调用的详细信息,请参阅 BatchItems 属性。
请注意,如果标志包含 枚举常量WSManFlagHierarchyDeepBasePropsOnly 或 WSManFlagHierarchyShallow ,则 Windows 远程管理服务 ERROR_WSMAN_POLYMORPHISM_MODE_UNSUPPORTED返回错误代码。
如果指定了筛选器,则它必须是与资源架构相关的有效文档。 方言参数是可选的。 但是,如果筛选器字符串以 <开头,但不是 XML 片段,则要么包括 dialect 参数,要么在 flags 参数中设置 WSManFlagNonXmlText 标志。 有关详细信息,请参阅 枚举常量。
相应的 C++ 方法是 IWSManSession::Enumerate。
示例
以下 VBScript 代码示例枚举由完全限定域名 (servername.domain.com) 指定的远程计算机上的Win32_LogicalDisk实例。 请注意,释放枚举对象会清除挂起的枚举请求。 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_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 |
标头 |
|
IDL |
|
库 |
|
DLL |
|