我一直无法找到一种方法来确定 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 上。