用Perl显示BIOS信息

该博客介绍了使用Perl语言从计算机中获取BIOS信息,包括版本号和出厂日期等。测试使用的Perl版本为5.8.0.804 for Microsoft Windows,给出了具体代码,并展示了在机器上运行得到的BIOS信息结果。
从计算机中得到 BIOS信息 ,包括BIOS版本号和出厂日期
支持平台

Windows Server 2003

Yes

Windows XP

Yes

Windows 2000

Yes

Windows NT 4.0

Yes

Windows 98

Yes

本测试用的Perl版本为5.8.0.804 for Microsoft Windows, 可以从 ActiveState获得。
代码如下:
use Win32::OLE('in');
use constant wbemFlagReturnImmediately => 0x10;
use constant wbemFlagForwardOnly => 0x20;

$computer = ".";
$objWMIService = Win32::OLE->GetObject
    ("winmgmts:////$computer//root//CIMV2") or die "WMI connection failed./n";
$colItems = $objWMIService->ExecQuery
    ("SELECT * FROM Win32_BIOS","WQL",wbemFlagReturnImmediately | wbemFlagForwardOnly);

foreach my $objItem (in $colItems)
{
      print "Bios Characteristics: " . join(",", (in $objItem->{BiosCharacteristics})) . "/n";
      print "BIOS Version: " . join(",", (in $objItem->{BIOSVersion})) . "/n";
      print "Build Number: $objItem->{BuildNumber}/n";
      print "Caption: $objItem->{Caption}/n";
      print "Code Set: $objItem->{CodeSet}/n";
      print "Current Language: $objItem->{CurrentLanguage}/n";
      print "Description: $objItem->{Description}/n";
      print "Identification Code: $objItem->{IdentificationCode}/n";
      print "Installable Languages: $objItem->{InstallableLanguages}/n";
      print "Install Date: $objItem->{InstallDate}/n";
      print "Language Edition: $objItem->{LanguageEdition}/n";
      print "List Of Languages: " . join(",", (in $objItem->{ListOfLanguages})) . "/n";
      print "Manufacturer: $objItem->{Manufacturer}/n";
      print "Name: $objItem->{Name}/n";
      print "Other Target OS: $objItem->{OtherTargetOS}/n";
      print "Primary BIOS: $objItem->{PrimaryBIOS}/n";
      print "Release Date: $objItem->{ReleaseDate}/n";
      print "Serial Number: $objItem->{SerialNumber}/n";
      print "SMBIOS BIOS Version: $objItem->{SMBIOSBIOSVersion}/n";
      print "SMBIOS Major Version: $objItem->{SMBIOSMajorVersion}/n";
      print "SMBIOS Minor Version: $objItem->{SMBIOSMinorVersion}/n";
      print "SMBIOS Present: $objItem->{SMBIOSPresent}/n";
      print "Software Element ID: $objItem->{SoftwareElementID}/n";
      print "Software Element State: $objItem->{SoftwareElementState}/n";
      print "Status: $objItem->{Status}/n";
      print "Target Operating System: $objItem->{TargetOperatingSystem}/n";
      print "Version: $objItem->{Version}/n";
      print "/n";
}
我机器上得到结果
Bios Characteristics: 4,7,9,10,11,12,15,16,17,19,22,23,24,25,26,27,28,29,30,32,33,34,36,37
BIOS Version: KT600  - 42302e31,Phoenix - AwardBIOS v6.00PG,Phoenix - AwardBIOS v6.00PG
Build Number:
Caption: Phoenix - AwardBIOS v6.00PG
Code Set:
Current Language: n|US|iso8859-1
Description: Phoenix - AwardBIOS v6.00PG
Identification Code:
Installable Languages: 3
Install Date:
Language Edition:
List Of Languages: n|US|iso8859-1,n|US|iso8859-1,r|CA|iso8859-1
Manufacturer: Phoenix Technologies, LTD
Name: Phoenix - AwardBIOS v6.00PG
Other Target OS:
Primary BIOS: 1
Release Date: 20040929000000.000000+000
Serial Number: 
SMBIOS BIOS Version: 6.00 PG
SMBIOS Major Version: 2
SMBIOS Minor Version: 2
SMBIOS Present: 1
Software Element ID: Phoenix - AwardBIOS v6.00PG
Software Element State: 3
Status: OK
Target Operating System: 0
Version: KT600  - 42302e31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值