minibox 发表于 2012-12-26 21:51:05

如何使用WMI准确获取硬盘序列号? 知道的请指教,多谢!

SELECT*FROMWin32_Processor Where SerialNumber is NOT null
返回对象的.SerialNumber属性时,SERVER2003可以正确获取,但是XP则返回一个空值。

根据这里http://bbs.pfan.cn/post-380614.html说的“此方法在XP下面有一个BUG,以即如果硬盘序列是前面有空格的,在XP下面会取到一个NULL值”

请问大家有什么好办法取得远程计算机的硬盘序列号么?   请多多指教,谢谢!!!

cj4025 发表于 2023-12-1 16:56:45

MsgBox(4096,"",_DiskDrive(),10)

Func _DiskDrive() ;硬盘
        $objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
        $colDiskDrive = $objWMIService.ExecQuery("Select * from Win32_DiskDrive")
        Local $sAll = ""
        For $object In $colDiskDrive
                $sAll &= "序列号:" & StringStripWS($object.SerialNumber, 4)& @CRLF
        Next
        $DiskDrive = $sAll
        Return $DiskDrive
EndFunc   ;==>_DiskDrive
页: [1]
查看完整版本: 如何使用WMI准确获取硬盘序列号? 知道的请指教,多谢!