由于工作需要,几个月前不得不接手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
++++++++++++++++++