collections - 在没有 "For Each"枚举的情况下从 VBScript 访问 WMI 集合对象

标签 collections vbscript wmi win32-process

<分区>

我有这段代码,但不知道要传递给 Item 方法的参数是什么:

Dim oWMISrvc, oProcCol

Set oWMISrvc = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set oProcCol = oWMISrvc.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'wscript.exe'")
If oProcCol.Count Then WScript.Echo oProcCol.Item(?).CommandLine

我想查询 ExecQuery 返回的集合中的第一个 Win32_Process 项。我知道这可以通过“For Each”枚举来完成,但我正在寻找一种直接访问它的方法。

P.S.:我查询“wscript.exe”只是为了测试,所以我实际上并不是要检索正在运行的脚本的命令行,而是要检索外部可执行文件。 谢谢。

最佳答案

找到我的答案 here .所以这似乎可行,但不适用于 XP 或旧版本的 Windows:

If oProcCol.Count Then WScript.Echo oProcCol.ItemIndex(0).CommandLine

关于collections - 在没有 "For Each"枚举的情况下从 VBScript 访问 WMI 集合对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18960022/

相关文章:

c# - 在 Windows 上获取 cpu % 使用率和网络吞吐量的最有效和最基本的方法?

python - 如何在 python 中从 WMI 获取 64 位值

java - 保持远程对象更新

java - 多个数据结构中的相同数据 - 正确的方法

java - 集合 emptyList/singleton/singletonList/List/Set toArray

sharepoint - 批量复制文件到 SharePoint 站点

Java,如何遍历 Collection<?延伸 E>?

mysql - IIS 上的 ASP Classic 需要 31 秒来执行每个 mySQL 脚本

vbscript - 执行存储过程并返回结果集

c# - WMI ManagementObjectSearcher 在查询时挂起