文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

vbs怎么查询局域网内电脑的软件和硬件列表清单

2023-06-08 09:04

关注

小编给大家分享一下vbs怎么查询局域网内电脑的软件和硬件列表清单,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

下面的代码在windows下容易报毒大家可以放心使用

'=========================================================================='' Date:2009/3/19' Name: 查询软件和硬件列表清单' Author:Smileruner' www.overmcse.com' 不支持Win2000及WinNT'' 3/19,添加了网卡过滤。'=========================================================================='on error resume Nextconst HKEY_LOCAL_MACHINE = &H80000002 const UNINSTALL_ROOT = "Software\Microsoft\Windows\CurrentVersion\Uninstall"const REG_SZ = 1'Set wshshell=wscript.createobject("wscript.shell")' wshshell.run ("%comspec% /c regsvr32 /s scrrun.dll"),0,true' wshshell.run ("%comspec% /c sc config winmgmt start= auto"),0,true' wshshell.run ("%comspec% /c net start winmgmt"),0strComputer = Inputbox("请输入要查询的计算机名称",,"")If strComputer = "" then    Wscript.Echo "未输入值或用户取消,查询退出。"    Wscript.QuitEnd IfSet objswbemlocator = createobject("wbemscripting.swbemlocator")Set objswbemservices = objswbemlocator.connectserver(strComputer, "root\cimv2")If Err.number <> 0 then    Wscript.Echo "目标计算机无法连接。错误的计算机名,或目标计算机启用了防火墙,RPC服务不可用。"    Err.number.clear    Wscript.QuitEnd If'swbemservices.security_.impersonationleobjvel = 3Set fso=createobject("scripting.filesystemobject")FileDate = Replace(date(), "/", "-")resoultfilepath= strComputer & FileDate & ".html"Set resultFile= fso.createtextfile(resoultfilepath,,true)HtmlWriteHead()'Html文档开始TableHead strComputer,"硬件清单"'Html表格开始OsWrite()                '写入操作系统信息BoardWrite()            '写入主板信息CpuWrite()                '写入CPU信息MemoryWrite()                '写入内存信息HarddiskWrite()            '写入硬盘信息CdromWrite()            '写入CDROM信息VideoWrite()            '写入显示卡信息NetcardWrite()            '写入网卡信息TableEnd()            'Html表格结尾TableHead strComputer,"软件清单"            'Html表格开头Softlist()            '写入软件信息TableEnd()            'Html表格结尾HtmlWriteEnd()            'Html文档结束ResultFile.close Wscript.Echo "查询完成!"'=========以下是函数列表==========Function OsWrite()         '函数,写入操作系统信息    Set colOs =objswbemservices.execquery("select * from win32_operatingsystem",,48)    For Each Ositem In colOs        oscaption = Ositem.caption        OsVersion = oscaption & Ositem.version        WriteTable "操作系统",OsVersion    NextEnd Function Function BoardWrite()        '函数,写入主板信息    Set colBoard = objswbemservices.execquery("select * from win32_baseboard")    For Each Bditem In colBoard        boardname = Bditem.product        WriteTable "主板",boardname    NextEnd Function Function CpuWrite()        '函数,写入CPU信息    Set colCpu =objswbemservices.execquery("select * from win32_processor")    For Each item in colCpu        cpuname = (trim(item.name))        WriteTable "中央处理器",cpuname    NextEnd Function Function MemoryWrite()        '函数,写入内存信息mtotal    = 0num     = 0mill     = 0    Set colMemory = objswbemservices.execquery("select * from win32_physicalmemory",,48)    For Each objitem In colMemory        mill = objitem.capacity/1048576        WriteTable "单根内存容量",mill & "M"        mtotal = mtotal+mill        num = num + 1    Next    WriteTable "总计内存",num & "条" & "一共" & mtotal & "M"End Function Function HarddiskWrite()        '函数,写入硬盘信息    Set colDisk = objswbemservices.execquery("select * from win32_diskdrive", , 48)    For Each objitem In colDisk        diskname= objitem.caption        disksize= fix(objitem.size/1073741824)        WriteTable "硬盘",diskname & " 容量:" & disksize & "G"    NextEnd Function Function CdromWrite()        '函数,写入CDROM信息    Set colCdrom = objswbemservices.execquery("select * from win32_cdromdrive where scsitargetid=0")    For Each objitem In colCdrom        cdname = objitem.name        WriteTable "光驱",cdname    NextEnd FunctionFunction videoWrite()        '函数,写入显示卡信息    Set colVideo = objswbemservices.execquery("select * from win32_videocontroller", , 48)    For Each objitem in colVideo        videoname = (trim(objitem.caption) & (objitem.videomodedescription))         WriteTable "显示卡",videoname    NextEnd Function Function netcardWrite()        '函数,查询网卡信息    Set colNetcards = objswbemservices.execquery("select * from win32_networkadapter")        For Each objNetcard in colNetcards                    If Not IsNull(objNetcard.NetConnectionID) Then            NetCardName     = objNetcard.productname                WriteTable "网卡名称",NetCardName                     If objNetcard.NetConnectionStatus = 2 Then                         NetCardMac     = objNetcard.macaddress            WriteTable "网卡Mac",NetCardMac            strQueryIp ="select * from win32_networkadapterconfiguration" &_                     " where IPEnabled = true" &_                     " and macaddress = '" & objNetcard.macaddress & "'"            Set colNetcardCfgs = objswbemservices.execquery(strQueryIp)             For Each objNetcardCfg in colNetcardCfgs                        For Each CfgAdrress in objNetcardCfg.IPAddress                    IpAdrress = CfgAdrress                    WriteTable "IP地址",IpAdrress                Next            Next                Else            NetCardMac = "网卡被禁用或未连接。"            WriteTable "网卡Mac",NetCardMac            IpAdrress = "网卡被禁用或未连接。"              WriteTable "IP地址",IpAdrress                            End If                        End if                    NextEnd Function Function softlist()        '函数,写入软件信息Set StdOut = WScript.StdOut Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_ strComputer & "\root\default:StdRegProv") strKeyPath = UNINSTALL_ROOT oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys For Each strSubKey In arrSubKeys     If NotHotfix(strSubKey) Then                SoftNameAndVersion = getProgNameAndVersion(oReg,strKeyPath & "\" & strSubKey)        If SoftNameAndVersion<>"0" Then         WriteTable "软件",SoftNameAndVersion                End If     End IfNext         End FunctionFunction NotHotfix(sSubKey)        If Left(sSubkey,2) = "KB" And len(sSubkey) = 8 Then        NotHotfix = 0    Else NotHotfix = 1    End ifEnd FunctionFunction getProgNameAndVersion(oReg,sKeyRoot)Dim sKeyValuesAry, iKeyTypesAry, nCnt, sValue, sDisplayName, sDisplayVersionoReg.EnumValues HKEY_LOCAL_MACHINE, sKeyRoot, sKeyValuesAry, iKeyTypesAry    If NOT IsArray(sKeyValuesAry) Then         getProgNameAndVersion = 0        Exit Function     End If    For nCnt = 0 To UBound(sKeyValuesAry)        If InStr(1, sKeyValuesAry(nCnt), "DisplayName", vbTextCompare) Then            If iKeyTypesAry(nCnt) = REG_SZ Then                oReg.GetStringValue HKEY_LOCAL_MACHINE, sKeyRoot, sKeyValuesAry(nCnt), sValue                If sValue<>"" Then                     sDisplayName = sValue                                    sDisplayName = Replace(sDisplayName, "[", "(")                    sDisplayName = Replace(sDisplayName, "]", ")")                End If            End If        ElseIf InStr(1, sKeyValuesAry(nCnt), "DisplayVersion", vbTextCompare) Then            If iKeyTypesAry(nCnt) = REG_SZ Then                oReg.GetStringValue HKEY_LOCAL_MACHINE, sKeyRoot, sKeyValuesAry(nCnt), sValue                If sValue<>"" Then sDisplayVersion = sValue            End If        End If        If (sDisplayName<>"") AND (sDisplayVersion<>"") Then             getProgNameAndVersion = sDisplayName & " --版本号: " & sDisplayVersion            Exit Function        Else     getProgNameAndVersion = 0                    End If    Next    If sDisplayName<>"" Then         getProgNameAndVersion = sDisplayName        Exit Function                        End IfEnd FunctionFunction WriteTable(caption,value)        '函数,将数据写入HTML单元格resultFile.Writeline "<tr>"resultFile.Writeline "<td align=""left"" width=""30%"" height=""25"" bgcolor=""#ffffff"" scope=""row"">&nbsp;&nbsp;" & caption & "</td>"resultFile.Writeline "<td bgcolor=""#ffffff"">&nbsp;&nbsp;" & value & "</td>"resultFile.Writeline "</tr>"End Function Function HtmlWriteHead()        '函数,写入THML文件头resultFile.Writeline "<html>" resultFile.Writeline "<head>" resultFile.Writeline "<title>软硬件配置清单</title>"resultFile.Writeline "</head>" resultFile.Writeline "<body>" End Function Function HtmlWriteEnd()        '函数,写入Html文件尾resultFile.Writeline "</body>" resultFile.Writeline "</html>" End Function Function TableHead(pcname,str)        '函数,写入Html表格结尾resultFile.Writeline "<h4>" & pcname & str & " -- date:"&now()&" </h4>" & VbCrLfresultFile.Writeline "<table width=""90%"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""1"" bgcolor=""#0000ff"">" resultFile.Writeline "<tr>" resultFile.Writeline "<th width=""30%"" height=""25"" bgcolor=""#ffffff"" scope=""col"">资产类型</th>"resultFile.Writeline "<th bgcolor=""#ffffff"" scope=""col"">查询结果值</th>"resultFile.Writeline "</tr>" strstyle = "<th width=""30%"" height=""25"" bgcolor=""#ffffff"" scope=""row"">"End Function Function TableEnd()        '函数,Html表格结尾resultFile.Writeline "</table>" End Function

vbs判断操作系统

strComputer = "."Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")For Each objItem in colItemsstrOSVersion = objItem.VersionNextwscript.echo strOSversionselect case strOSversioncase "5.2.3790"wscript.echo "Windows Server 2003"case "5.0.2195"wscript.echo "Windows 2000"case "5.1.2600"wscript.echo "Windows XP"case "6.0.6001"wscript.echo "windows visita"Case "6.1.7601"wscript.echo "Windows Server 2008 r2"case elsewscript.echo "i don't know"end select

看完了这篇文章,相信你对“vbs怎么查询局域网内电脑的软件和硬件列表清单”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网行业资讯频道,感谢各位的阅读!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯