通过 WMI 确定 CPU 处理器与插槽

通过 WMI 确定 CPU 处理器与插槽

我一直无法找到一种方法来确定 PC/服务器中存在哪些处理器/CPU/插槽。

有什么建议么?

答案1

WMIWIN32_Processor 类提供有关已安装处理器的基本信息。

答案2

尝试:

' *** Get the server name

  set wsh_shell = wscript.CreateObject("Wscript.Shell")
  set wsh_env = wsh_shell.Environment("PROCESS")
  server_name =  wsh_env("COMPUTERNAME")
  set wsh_env = nothing
  set wsh_shell = nothing

' *** Open the WMI service

  set wmi_service = GetObject("winmgmts:\\" & server_name)

' *** Processor

  set wmi_objectset = wmi_service.InstancesOf("Win32_Processor")

  for each wmi_object in wmi_objectset
    wscript.echo cstr(wmi_object.MaxClockSpeed) & " - " _
               & cstr(wmi_object.NumberOfCores)
  next

  set wmi_service = nothing

我已经让脚本打印时钟速度,但您可以查看 Stuart Dunkeld 的帖子中的链接中提到的任何属性。

約翰·倫尼

答案3

除了Win32_处理器其他答案中提到的课程,你也有Win32_计算机系统类具有 NumberOfLogicalProcessors 和 NumberOfProcessors 值。文档中关于操作系统对这两个值的支持的说明略有错误。XP 自 SP3 以来支持 NumberOfLogicalProcessors 值。我猜 Win2003 在其下一个服务包发布时也会支持它。

答案4

请注意,在 Windows Server 2003、SP1 或 SP2 上,Win32_Processor 的 NumberOfCores 属性不可用,除非您安装了修补程序 180973(适用于 x86 或 x64),如本 KB 中所述:http://support.microsoft.com/kb/932370. Windows XP SP2 也一样 - 请参阅 KB:http://support.microsoft.com/kb/936235 每个 KB 页面顶部都有一个链接,介绍如何通过电子邮件请求修补程序。此属性首先出现在 Windows Vista 上。

相关内容