我正在一个由 300 多台笔记本电脑组成的网络上工作,我需要获取连接到我网络的所有硬盘制造商序列号。有没有办法从服务器检索这些数据而不用访问每台笔记本电脑?我正在运行 Windows Server 2008。
答案1
您可以使用以下方式查询笔记本电脑上的 WMI 接口Win32_磁盘驱动器类,其中包含一个SerialNumber
属性。此属性可能不适用于较旧的 Windows 操作系统(包括 Windows Server 2003),但在从 Server 2008 运行时应该可以正常工作,适用于任何 Vista 或更新的笔记本电脑。
以下是一些关于WMI 脚本用于收集硬盘信息。
一些技巧:
将脚本输出到文件而不是屏幕,以便您可以自动化执行,并可以汇总结果。
将您的脚本作为计划任务运行,以便当桌面空闲时它不会停顿。轮询 300 个设备将需要相当长的时间。
这是一个示例脚本(未经测试):
ComputerName = "."
Set wmiServices = GetObject ( _
"winmgmts:{impersonationLevel=Impersonate}!//" _
& ComputerName)
' Get physical disk drive
Set wmiDisks = wmiServices.ExecQuery ( _
"SELECT * FROM Win32_DiskDrive")
For Each wmiDisk in wmiDisks
WScript.Echo wmiDisk.SerialNumber
Next