【问题标题】:Hanging VBScript on query查询时挂起 VBScript
【发布时间】:2009-03-29 05:46:30
【问题描述】:

我从一位最近退休的同事那里继承了一段代码,该代码获取了一个盒子上的总物理内存,当我在 Windows XP 和 Server 2003 上执行以下操作时,它工作正常:

memSize = 0
set colItems = wmi.execQuery("select * from Win32_LogicalMemoryConfiguration")
for objItem in colItems
    memSize = memSize + objItem.TotalPhysicalMemory
next

然而,在 Windows Server 2008 上,它似乎挂在 for 语句中(基于示例中未显示的每一行之后的大量调试语句)。

有什么想法吗?

【问题讨论】:

  • 顺便说一句,如果你在命令行中传递 //d //x,你可以在调试器中运行 VBScript。

标签: vbscript wmi


【解决方案1】:

Win32_LogicalMemoryConfiguration 类已被弃用。请尝试使用 Win32_OperatingSystem 类。它应该在 Server 2008 上给出正确的结果。

我相信您感兴趣的属性是TotalVisibleMemorySize

【讨论】:

  • 为什么选择 TotalVisibleMemorySize?我试图找出实际的物理 RAM - 这似乎只为 Windows 提供可用的 RAM。不过,+1 表示弃用。谢谢你。
  • @Angry,我最终找到了正确的值(不久前,我花了一些时间才回到这个问题上)而且,因为是你的弃用评论让我想到了它(嗯,那以及没有其他人愿意回答的事实,我会接受这个答案:-)。谢谢。
猜你喜欢
  • 2014-06-06
  • 1970-01-01
  • 1970-01-01
  • 2017-06-07
  • 2010-11-07
  • 2020-01-27
  • 2011-07-14
  • 1970-01-01
  • 2014-01-27
相关资源
最近更新 更多