博客首页 注册 建议与交流 排行榜 加入友情链接         宝宝相册的专门空间
推荐 投诉 搜索: 帮助

星瞳——吾爱

初步打算,除了自己喜欢的文章,也尽量贴些原创文章和照片什么的----2005.01.04
获取WINDOWS服务器的序列号

    由于工作需要,几个月前不得不接手WINDOWS的系统管理。始终认为无论什么平台的系统管理,不会写脚本无论干多少年,最多也就达到中级水平。既然要做,就要把工作做好,所以下决心把WMI和ADSI学一下。
    这是工作中用VBS写的第一个WMI脚本。目的就是:有时需要得到服务器的序列号,但不想跑到机房里去抄了,可以远程地得到。脚本虽然简单,但WMI脚本大体就是这样的一个结构,便于以后写脚本时进行参考。
 
'filename: get-sn.vbs
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT SerialNumber FROM Win32_BIOS")
For Each objItem In colItems
      WScript.Echo "SerialNumber: " & objItem.SerialNumber
Next
++++++++++++++++++
'filename: get-sn2.vbs
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.InstancesOf("Win32_BIOS")
For Each objItem In colItems
      WScript.Echo "SerialNumber: " & objItem.SerialNumber
Next
++++++++++++++++++
'filename: get-sn3.vbs
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2:Win32_BIOS.Name=""Phoenix - AwardBIOS v6.00PG"",SoftwareElementID=""Phoenix - AwardBIOS v6.00PG"",SoftwareElementState=3,TargetOperatingSystem=0,Version=""HPQOEM - 42302e31""")
      WScript.Echo "SerialNumber: " & objWMIService.SerialNumber
++++++++++++++++++
 
========================================================================
任何形式的转载,请写明出处:
email: beginner@yeah.net
blog: http://blog.chinaunix.net/index.php?blogId=739   http://www.cublog.cn/u/739/
========================================================================

发表于: 0000-00-00,修改于: 2007-12-18 15:05,已浏览140次,有评论3条 推荐 投诉
网友: beginner-bj 时间:2008-02-04 17:00:17 IP地址:61.144.248.★
根据工作需要,修改了一下,目的是得到机器名、操作系统名、机器型号、序列号。
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")

Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem In colItems
'      WScript.Echo "CSName: " & objItem.CSName
'      WScript.Echo "Caption: " & objItem.Caption
    S = "HostName: " & objItem.CSName & vbCrLf & "OperationSystem: " & objItem.Caption
Next

Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem In colItems
'      WScript.Echo "Model: " & objItem.Model
    S = S & vbCrLf & "MachineModel: " & objItem.Model
Next

Set colItems = objWMIService.ExecQuery("SELECT SerialNumber FROM Win32_BIOS")
For Each objItem In colItems
'      WScript.Echo "SerialNumber: " & objItem.SerialNumber
    S = S & vbCrLf & "SerialNumber: " & objItem.SerialNumber
Next

WScript.Echo S



网友: 本站网友 时间:2008-05-06 10:58:53 IP地址:218.201.251.★
要是能获得内存大小,CPU个数,主频就好了

网友: beginner-bj 时间:2008-05-06 11:51:38 IP地址:61.144.248.★
从Win32_Processor、Win32_LogicalMemoryConfiguration这两个WMI CLASS可以获得你要的东西。


给我留言
版权所有 ChinaUnix.net 页面生成时间:0.36697