VBScript Win32_BIOS 类
最后修改于 2025 年 4 月 9 日
VBScript 中的 Win32_BIOS
类通过 Windows Management Instrumentation (WMI) 提供对 BIOS 信息的访问。它包含有关系统 BIOS 固件的属性。这包括版本、制造商和发布日期。
使用 Win32_BIOS
,脚本可以检索关键的系统固件详细信息。这对于库存、合规性检查和系统管理非常有用。该类是 WMI root\cimv2 命名空间的一部分。
Win32_BIOS 类概述
Win32_BIOS
类表示安装在计算机上的 BIOS 固件。它继承自 CIM 模型中的 CIM_BIOSElement
。该类提供有关 BIOS 配置的只读属性。
关键属性包括 Manufacturer、Name、Version 和 SerialNumber。该类还提供 SMBIOS 特定信息。访问需要 WMI 权限,通常是管理员可用。
检索基本 BIOS 信息
此示例演示如何使用 Win32_BIOS
检索基本 BIOS 信息。它显示制造商、版本和发布日期。脚本连接到 WMI 并查询 BIOS 类。
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colBIOS = objWMIService.ExecQuery("Select * from Win32_BIOS") For Each objBIOS in colBIOS WScript.Echo "Manufacturer: " & objBIOS.Manufacturer WScript.Echo "Name: " & objBIOS.Name WScript.Echo "Version: " & objBIOS.Version WScript.Echo "Release Date: " & objBIOS.ReleaseDate Next
脚本使用 GetObject
连接到 WMI。它查询 Win32_BIOS
的所有实例。循环输出每个 BIOS 实例的关键属性。大多数系统只有一个 BIOS 实例。
检查 BIOS 序列号
此示例检索 BIOS 序列号,该序列号通常用于资产跟踪。序列号是系统的唯一标识符。某些系统可能不公开此属性。
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colBIOS = objWMIService.ExecQuery("Select * from Win32_BIOS") For Each objBIOS in colBIOS If IsNull(objBIOS.SerialNumber) Then WScript.Echo "Serial Number: Not Available" Else WScript.Echo "Serial Number: " & objBIOS.SerialNumber End If Next
脚本在显示之前检查 SerialNumber 是否为 null。这可以处理属性不可用的情况。输出显示序列号或“不可用”消息。
确定 SMBIOS 版本
此示例从 BIOS 检索 SMBIOS 版本信息。SMBIOS 是用于提供 BIOS 信息的标准。版本指示标准的合规级别。
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colBIOS = objWMIService.ExecQuery("Select * from Win32_BIOS") For Each objBIOS in colBIOS WScript.Echo "SMBIOS Version: " & objBIOS.SMBIOSBIOSVersion WScript.Echo "SMBIOS Major Version: " & objBIOS.SMBIOSMajorVersion WScript.Echo "SMBIOS Minor Version: " & objBIOS.SMBIOSMinorVersion Next
脚本输出三个与 SMBIOS 相关的属性。这些属性表示 BIOS 对 SMBIOS 标准的实现。更高的版本通常支持更多的功能和信息。
检查 BIOS 特性
BIOS 特性属性包含指示支持功能的标志。此示例解码并显示这些特性。每个位代表一个不同的 BIOS 功能。
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colBIOS = objWMIService.ExecQuery("Select * from Win32_BIOS") For Each objBIOS in colBIOS If Not IsNull(objBIOS.BIOSCharacteristics) Then WScript.Echo "Number of BIOS Characteristics: " & _ UBound(objBIOS.BIOSCharacteristics) + 1 Else WScript.Echo "BIOS Characteristics not available" End If Next
脚本检查 BIOSCharacteristics 是否可用。然后它显示特性标志的数量。每个标志都需要额外的解码才能理解具体的功能。
验证 BIOS 状态
此示例检查 BIOS 状态属性。状态指示 BIOS 是否正常运行。常见值包括“OK”、“Error”或“Degraded”。
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colBIOS = objWMIService.ExecQuery("Select * from Win32_BIOS") For Each objBIOS in colBIOS WScript.Echo "Status: " & objBIOS.Status WScript.Echo "Primary BIOS: " & objBIOS.PrimaryBIOS Next
脚本输出 BIOS 状态以及它是否为主 BIOS。在大多数系统中,主 BIOS 值将为 TRUE。对于正常运行的系统,状态应为“OK”。
来源
在本文中,我们探讨了 VBScript 中的 Win32_BIOS
类,涵盖了其用法和实际应用。从基本信息检索到特定属性检查,这些示例展示了 BIOS 数据访问。有了这些知识,您就可以使用详细的 BIOS 信息来增强您的系统管理脚本。