Windows系统使用WMIC的获取硬盘ID的问题
2017-08-30 14:03
996 查看
为了查询硬件信息,可以使用wmic命令:
查看CPU:wmic cpu get processorid
查看主板:wmic baseboard get serialnumber
查看硬盘:wmic diskdrive get serialnumber
但这里有个小问题:
对于XP系统查不到硬盘ID;
对于win7系统硬盘ID是HEX格式的文本(40位),如:202020202020325a4b415244544;
对于win10系统硬盘ID是字符串格式,如:XYZ1234567890;
对于win8.1系统和win10一样.
对于win8和vista没有裸机测试,所以结果未知.
对于有多块硬盘的系统,wmic列出的硬盘顺序可能是乱的, 目前不知道排序规则,可以肯定的是排在第1个的不一定就是当前系统盘;(猜测可能是BIOS中的启动顺序???)
Windows的物理硬盘序号\\.\PHYSICALDRIVE0-X是按照主板接口顺序(SATA0-X)排序的,PHYSICALDRIVE0不一定是当前启动系统的那块硬盘.
那么如何得知当前系统所在的硬盘呢,并读取硬盘ID呢?
目前看来,可以假定当前系统盘一定是C盘,所以通过读取C盘的磁盘信息,获取C盘所在磁盘的编号,这个编号就是\\.\PHYSICALDRIVEx中的x;
如果想查看该硬盘的信息,可以使用:wmic diskdrive where deviceid='\\\\.\\PHYSICALDRIVEx'
查看CPU:wmic cpu get processorid
查看主板:wmic baseboard get serialnumber
查看硬盘:wmic diskdrive get serialnumber
但这里有个小问题:
对于XP系统查不到硬盘ID;
对于win7系统硬盘ID是HEX格式的文本(40位),如:202020202020325a4b415244544;
对于win10系统硬盘ID是字符串格式,如:XYZ1234567890;
对于win8.1系统和win10一样.
对于win8和vista没有裸机测试,所以结果未知.
对于有多块硬盘的系统,wmic列出的硬盘顺序可能是乱的, 目前不知道排序规则,可以肯定的是排在第1个的不一定就是当前系统盘;(猜测可能是BIOS中的启动顺序???)
Windows的物理硬盘序号\\.\PHYSICALDRIVE0-X是按照主板接口顺序(SATA0-X)排序的,PHYSICALDRIVE0不一定是当前启动系统的那块硬盘.
那么如何得知当前系统所在的硬盘呢,并读取硬盘ID呢?
目前看来,可以假定当前系统盘一定是C盘,所以通过读取C盘的磁盘信息,获取C盘所在磁盘的编号,这个编号就是\\.\PHYSICALDRIVEx中的x;
如果想查看该硬盘的信息,可以使用:wmic diskdrive where deviceid='\\\\.\\PHYSICALDRIVEx'
相关文章推荐
- C/C++获取Windows系统CPU和内存及硬盘使用情况
- C/C++获取Windows系统CPU和内存及硬盘使用情况
- C/C++获取Windows系统CPU和内存及硬盘使用情况
- 64位Windows 7 sp1使用MyEclipse 9.0注册机无法获取System ID
- 在移动硬盘安装WINDOWS系统,告别安装后出现的蓝屏问题
- C:\Windows\system32\MSVCR100.dll 没有被指定在 Windows 上运行,或者它包含错误。请尝试使用原始安装媒体重新安装程序,或联系您的系统管理员或软件供应商以获取支持。【解决办法】
- [笔记]使用API函数 GetACP 获取Windows系统当前代码页
- c#中如何获取本机用户名、MAC地址、IP地址、硬盘ID、CPU序列号、系统名称、物理内存
- powershell 批量获取windows 硬盘使用量
- 获取服务器控件的id时,遇到使用到模板列取不到的问题
- 获取系统特征码(网卡MAC、硬盘序列号、CPU ID、BIOS编号)
- java支持跨平台获取cpuid、主板id、硬盘id、mac地址 (兼容windows、Linux)
- 使用dojo declare(继承v102版本) 时出现无法根据id获取到对象的问题
- 关于mac和windows使用移动硬盘的问题
- 研究Linux系统硬盘分区,并与Windows比较(未完,优先级问题没弄明白)
- 使用 idHTTP 获取 UTF-8 编码的中文网页 - 回复同学 "Delphi学习者" 的问题
- c++ builder2010 indy控件idhttp, post页面获取数据(要注意编码的问题,双方都使用UTF-8最好)
- wmic 中 获取系统内存使用
- 超强获取计算机信息类(可获取cpu序列号,网卡地址,ip地址,硬盘id,登录系统用户,计算机名等等)
- 关于mac和windows使用移动硬盘的问题