找回密码
 加入
搜索
查看: 4447|回复: 9

[系统综合] 查询远程计算机系统的版本(32位还是64位)

  [复制链接]
发表于 2012-9-12 15:29:41 | 显示全部楼层 |阅读模式
各位好,请问能否使用AU3(如WMI)查询远程计算机的操作系统是32位还是64位呢?
发表于 2012-9-13 14:06:02 | 显示全部楼层
If @OSArch = "X86"      32位
If @OSArch = "X64"      64位
 楼主| 发表于 2012-9-14 11:44:05 | 显示全部楼层
回复 2# zcx880517

谢谢zcx880517兄的回复,我希望是查询远程计算机而不是本机的系统版本,不知道有没有什么比较好的方法呢?
发表于 2012-9-14 12:14:00 | 显示全部楼层
回复 3# fuinei


    不好意思。。没注意到
 楼主| 发表于 2012-9-14 12:38:41 | 显示全部楼层
回复 4# zcx880517

请问你有没有什么好的方法可实现这个功能?我估计WMI可以,但没有找到对应的值
发表于 2012-9-15 16:11:02 | 显示全部楼层
On Error Resume Next

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Processor", "WQL", _
                                          wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem In colItems
   WScript.Echo "AddressWidth: " & objItem.AddressWidth
Next
 楼主| 发表于 2012-9-15 23:23:25 | 显示全部楼层
回复 6# 虫子樱桃

谢谢虫子樱桃兄的回复,从查询的对象 (Win32_Processor)来看好像是查询CPU的,在32位的OS中可返回32,家里暂时没有64位的OS周一到公司测试一下,我想再确认一下查询Win32_Processor可获取到OS的版本吗?
发表于 2012-9-16 15:56:09 | 显示全部楼层
简单那的方法不知道你要不要听,检查有无 Windows\SysWOW64目录,有就是X64,没有就是X86……
 楼主| 发表于 2012-9-17 18:13:51 | 显示全部楼层
回复 6# 虫子樱桃

测试成功,32位OS返回32,64位OS返回64,测试中发现查询Win32_Processor对象的AddressWidth属性即可返回系统版本信息
 楼主| 发表于 2012-9-17 18:15:59 | 显示全部楼层
回复 8# skyfree

好方法,应该判断系统盘是否有Program Files (x86)文件夹也可以,但有个前提需要知道目标客户端的系统盘符
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 17:52 , Processed in 0.090898 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表