我正在尝试检测设备的处理器是否支持 64位Windows操作系统安装,而不关注安装在其上的Windows操作系统的位数。检查时间。我希望通过PowerShell(最低3.0)来实现这一点,但我也可以通过分别调用cmd
和cscript
来使用Batch或VBScript。代码必须通过非交互式脚本执行,返回值时无需用户交互。
以下方法不适用于我的测试设备,设置应用程序识别为包含基于x64的处理器的32位Windows 10 VM:
我在上面指出,设置应用程序可以收集此信息,告诉用户他们的设备理论上支持安装64位Windows操作系统。知道这一点使我不喜欢使用第三方命令行工具(尽管它仍然是可行的最后手段)。
用例将执行此检查,然后使用该信息剥离if
子句。
答案 0 :(得分:4)
Win32_Processor
WMI类具有属性Architecture
。根据处理器类型,它采用以下值:
因此,在具有Core i7处理器的计算机上,(Get-WMIObject -Class Win32_Processor).Architecture
将返回9
,告诉您它是x64处理器 - 即使您已在其上安装了32位Windows。 / p>
答案 1 :(得分:1)
使用VB脚本,可以检查AddressWidth的OS类型和DataWidth的CPU类型。将以下内容放在.vbs文件中:
address_width= GetObject("winmgmts:root\cimv2:Win32_Processor='cpu0'").AddressWidth
data_width= GetObject("winmgmts:root\cimv2:Win32_Processor='cpu0'").DataWidth
WScript.Echo "Running " & address_width _
& " Bit Windows on " & data_width & " Bit processor."
有很多方法可以确定Windows是32位还是64位-但这是我发现检查处理器类型的最佳方法。花了我一些时间找到它,所以我想我可以分享一下,以防其他人正在寻找:-)