文章摘要
该脚本是一个 VBScript 程序,用于从本地计算机的指定文件夹中提取设备信息,并以 Excel 表格的形式进行展示。其主要功能包括:
1. **创建 Excel 工作簿**:通过 `CreateObject("Excel.Application")` 创建 Excel 应用程序,并新建一个工作簿。
2. **设置格式**:对 Excel 行和列进行格式设置,包括字体大小、加粗、居中对齐等。
3. **访问设备信息**:利用 `winmgmts` 接口访问目标计算机,并通过 `Win32_SystemEnclosure` 查询设备信息。
4. **读取文件并解析信息**:遍历文件夹中的每个文件,读取 IP 地址,并调用 `GetPCInfo` 函数解析详细信息。
5. **写入 Excel 表格**:将解析得到的设备信息写入 Excel 表格中,包括字段如“Domain”、“IP”、“Manufacturer”等。
6. **保存和关闭**:保存 Excel 工作簿并关闭程序。
该脚本的主要用途是自动化设备信息的收集与整理,适用于需要定期更新设备数据的情况。
Program Name: Get_Remote_PC_Partial_Information.vbs
—-The Code as Below
‘————————–
‘Author By: Wei_Zhu
‘Creation Date: 2010-03-08
‘————————–
On Error Resume Next
Const ForReading=1, ForWriting=2, ForAppending=8
Const TristateUseDefault=-2, TristateTrue=-1, TristateFalse=0
Set objExcel=CreateObject(“Excel.Application”)
Set objWorkbook=objExcel.Workbooks.Add() ‘This is add new
Set objRange=objExcel.Range(“A1″,”E1″)
objRange.Font.Size=10
objrange.Font.Bold=True
objrange.Font.Name=”Times New Roman”
objrange.Cells(1).Value=”Domain”
objrange.Cells(2).Value=”IP”
objrange.Cells(3).Value=”Manufacturer”
objrange.Cells(4).Value=”Model”
objrange.Cells(5).Value=”Serial Number”
objrange.Interior.ColorIndex=34 ‘Set BackColor
objRange.Borders.LineStyle=1
Set objRange=objExcel.ActiveCell.EntireColumn
objRange.AutoFit()
‘—-Auto Fill The Column Width—
Set objcol=objExcel.Columns(“A:E”).EntireColumn
objcol.AutoFit
set ws=createobject(“wscript.shell”)
set fso=createobject(“scripting.filesystemobject”)
set folder=fso.getfolder(ws.CurrentDirectory&”/Computer”)
Set fc=folder.Files
For Each f1 in fc
s=folder&”/” & f1.name
set ts=fso.OpenTextFile(s, ForReading)
lint_line=2
Do While Not ts.AtEndOfStream
l_ip=ts.ReadLine
GetPCInfo l_ip,f1.Name,lint_line
lint_line=lint_line +1
Loop
lint_line=0
ts.Close
Next
objExcel.DisplayAlerts=False ‘Close the Alert
‘objExcel.ActiveWorkBook.Saveas lstg_to_f,-4143
‘msgbox lstg_to_f
objExcel.ActiveWorkBook.Saveas folder&”.xls”,-4143
objExcel.DisplayAlerts=False ”Close the Save Alert
objExcel.ActiveWorkbook.Close
objExcel.DisplayAlerts=False
objExcel.Application.Quit
Function GetPCInfo(ByVal ip, ByVal l_fn, ByVal l_line)
‘Function GetPCInfo(l_fn,l_line)
strComputer=ip
objWMIService=GetObject(“winmgmts:” _
& “{impersonationLevel=impersonate}!//” & strComputer & “/root/cimv2”)
colItems=objWMIService.ExecQuery(“Select * from Win32_SystemEnclosure”)
l_Array=Split(l_fn, “.”, -1, 1)
For Each objItem In colItems
‘MsgBox “Manufacturer: ” & objItem.Manufacturer
‘ Msgbox “Product: ” & objItem.Product
‘ Msgbox “Serial Number: ” & objItem.SerialNumber
objRange=objExcel.Range(“A” & l_line, “E” & l_line)
objRange.Cells(1).value=l_Array(0)
objRange.Cells(2).value=ip
objRange.Cells(3).value=objItem.Manufacturer
objRange.Cells(4).value=objItem.Model
objRange.Cells(5).value=objItem.SerialNumber
Next
‘—-Auto Fill The Column Width—
objcol=objExcel.Columns(“A:E”).EntireColumn
objcol.AutoFit()