发新话题
打印

[原创]脚本查看BIOS属性

[原创]脚本查看BIOS属性

  文章作者:peaceflash
信息来源:邪恶八进制安全小组

On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("select * from Win32_bios")
mess="                BIOS属性查看"&vbTab&vbcrlf&vbcrlf

For Each objItem in colItems
   mess=mess& "Description: " & objItem.Description&vbcrlf  '提供对象的简短文字描述
   mess=mess& "BIOS的发行日期: " &mid(objItem.ReleaseDate,1,4)&"年"&mid(objItem.ReleaseDate,5,2)&"月"&mid(objItem.ReleaseDate,7,2)&"日"&vbcrlf
   mess=mess& "PrimaryBIOS: " & objItem.PrimaryBIOS&"  **如果为TRUE,就是主要BIOS**"&vbcrlf
   mess=mess& "Status: " & objItem.Status&vbcrlf  '如果是 TRUE 的话,这是计算机系统的主要 BIOS。
   mess=mess& "Version: " & objItem.Version&vbcrlf  'BIOS 制造商创建
   mess=mess& "软件组件的制造商: " & objItem.Manufacturer&vbcrlf
   mess=mess& "TargetOperatingSystem:"& objItem.TargetOperatingSystem&vbcrlf
   mess=mess& "InstallDate: " & objItem.InstallDate&vbcrlf
   mess=mess& "Name: " & objItem.Name&vbcrlf
   mess=mess&"SMBIOSBIOSVersio: "&objItem.SMBIOSBIOSVersion&vbcrlf
   mess=mess&"这台计算系统上的SMBIOS是否有效: "&objItem.SMBIOSPresent&"  **True为有效,FALSE为无效**"&vbcrlf
  
  
Next
wscript.Echo mess

TOP

本文章是peaceflash在文章提交版面提交的文章 审核通过由冰血封情转入原创文章...
qq310926是我唯一用号,除此之外有其他号码号自称邪八冰血封情,则非本人。

TOP

  该文章准确的说不应该为原创,该文章所述内容为WMI的对象之一(Win32_bios),WMI的功能之强大绝对超过我们的想象,WIM的用法简单,所有的对象用法一样,之所以说强大,是因为他的对象太多了,硬件方面如磁盘驱动管理(Win32_DiskDrive),光驱驱动管理(Win32_CDROMDrive),即插即用驱动管理(Win32_PNPEntity),软件方面如IIS(MicrosoftIISv2)等等,有兴趣的朋友可参阅MSDN,因为WMI是MS教本管理中的最主要内容,所以对于WMI的介绍十分详细。

    最近时间紧张,没事件写WMI的教程,以后有时间再写。至于读取WMI内容的方法,均可套用上面代码:

替换命名空间cimv2
替换对象Win32_bios
替换对象属性Description、PrimaryBIOS等即可


注:本人E文极为垃圾,MSDN又全是E文,所以对于命名空间、对象、属性等可能解释有误,忘熟悉者加以指正。
风,有时静,有时猛 风,有时喜,有时恨 风,有时大,有时小 我,我是风,我爱风 我是风流的风

TOP

查看所有命名空间有:
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root")
Set colItems = objWMIService.ExecQuery("select * from  __NAMESPACE")
For Each objItem in colItems

mess=mess&objItem.Name&vbcrlf
Next
wscript.echo mess

下会在写对象的查看。

TOP

strComputer = "."

Call EnumNameSpaces("root")

Sub EnumNameSpaces(strNameSpace)

  WScript.Echo strNameSpace

  Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\" & strNameSpace)
  Set colNameSpaces = objWMIService.InstancesOf("__NAMESPACE")

  For Each objNameSpace In colNameSpaces
   Call EnumNameSpaces(strNameSpace & "\" & objNameSpace.Name)
  Next

End Sub
上面的不全面

TOP

查看命名空间何必用脚本
wmimgmt.msc - 属性
都有了
me=\"kEvin1986\" & chr(0) & \"at solitude\" msgbox len(me)  \' You can see somthing. msgbox me  \' But just part of it. \'i think i will hide part of myself

TOP

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")  '\root\cimv2换成别的命名空间就可以查看别的命名空间的类了
Set colClasses = objWMIService.SubclassesOf()  'SubclassesOf,它也是由 WMI 脚本库的 SWbemServices 对象提供的

For Each objClass In colClasses
   WScript.Echo objClass.Path_.Path
Next

TOP

On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2:Win32_bios")   'cimv2:win32_bios改成别的相对应的命名空间和类  就可以查看类属性了

mess=""
For Each objItem in objWMIService.Properties_          'Properties_ 检索类的属性Methods_ 检索类的方法  Qualifiers_ 检索类的限定符
mess=mess&objItem.Name&vbcrlf
  
Next
wscript.Echo mess

TOP

发新话题