求VBS获取电脑硬件信息,并保存

求VBS获取电脑硬件信息,并保存,第1张

set wmi=GetObject("winmgmts:\\\root\CIMV2")

set w=wmiExecQuery("select from win32_processor")

a="CPU名称"

for each i in w

a=a & vbcrlf & iName

next

set w=wmiExecQuery("select from win32_ComputerSystem")

a=a & vbcrlf & vbcrlf & "内存大小"

for each i in w

a=a & vbcrlf & iTotalPhysicalMemory

next

set w=wmiExecQuery("select from win32_DiskDrive")

a=a & vbcrlf & vbcrlf & "硬盘大小"

for each i in w

a=a & vbcrlf & iSize

next

set w=wmiExecQuery("select from win32_LogicalDisk where DriveType='3'")

a=a & vbcrlf & vbcrlf & "盘符----大小"

for each i in w

a=a & vbcrlf & iDeviceID & " ---- " & iSize

next

set w=wmiExecQuery("select from win32_NetworkAdapter")

a=a & vbcrlf & vbcrlf & "网络适配器"

for each i in w

a=a & vbcrlf & iProductName

next

Set w = wmiExecQuery("Select from Win32_NetworkAdapterConfiguration Where IPEnabled=True")

a=a & vbcrlf & vbcrlf & "MAC地址"

For Each i in w

a=a & vbcrlf & iMACAddress

Next

set w=wmiExecQuery("select from win32_VideoController")

a=a & vbcrlf & vbcrlf & "显卡型号----显存"

for each i in w

a=a & vbcrlf & iName & " ---- " & iAdapterRAM

next

Set FSO = CreateObject("ScriptingFileSystemObject")

set f=fsoopentextfile("xinxitxt",2,true)

fwrite "电脑信息:" & vbcrlf & vbcrlf & a

fclose

msgbox "OK"

说明:程序运行约2s(因为读取硬件信息)

部分程序命令可能出错(电脑禁用)

结果保存为“xinxitxt”

systeminfo | find "system model" /i

wmic bios get serialnumber 获取硬件序列号

"wmic csproduct get name" 获取型号

远程: systeminfo /s computername

wmic /node:"IPorCOMPUTERNAME" bios get serialnumber

WMIC /NODE:"computer1" /USER:"domainname\username" /PASSWORD:"userpassword" OS GET Caption,CSDVersion,CSName

如何获取电脑序列号的两种方法: 第二种可以获取域中远程的电脑>

你觉得wmi不安全的话,可以把它关了,但是要知道别人获取你的什么信息那就难了。

一个可行的方式是定义相应的规则截获相应的数据封包,然后再查看封包的内容。这方面的规则你可就得好好研究研究windows体系结构了,估计在这里很难有人能回答你

wmi、注册表、shell等编程方法,可以获取到和windows设备管理器相同的信息,如果设备管理器没有,标准编程方法是获取不到的。

鲁大师的检测获取,可不是简单代码可以完成的,如果不是商业应用,建议放弃,太麻烦了。这个首先,需要做一个r0级别的驱动程序,才可以直接获取硬件信息,然后窗口程序和驱动程序进行信息交互。(对未识别硬件的简单识别或SSD这样的简单判断,这样做就可以)

但获取后,实际只是一组标识数据,是无法直接确定品牌和版本的,也无法直接判断ssd的参数和品牌。要像鲁大师那样详细的驱动信息,实际是需要一个非常详细的硬件信息对比库,将r0获取的硬件标识数据和数据库中每个产品的信息作对比,尤其是山寨产品,数据标识混乱,还需要一个智能匹配逻辑,根据周边信息作综合判定。这可不是一个简单的事情,可以说是鲁大师的“发家”根本。

这1500台电脑的登录帐号/密码是否一样?如果不一样,需要对每台电脑提供一个凭据,假如你的帐号密码信息保存在D:\Infocsv,计算机名在ComputerName一列,用户名在Username一列,密码在Password一列,如下:

$Infos = Import-Csv -Path D:\Infocsv

foreach ($Info in $Infos)

{

$computer = $InfoComputerName

$Username = $InfoUsername

$Password = ConvertTo-SecureString -String $InfoPassword -AsPlainText -Force

$cred = New-Object SystemManagementAutomationPSCredential($Username, $Password)

$BIOS = Get-WmiObject -Class Win32_BIOS -ComputerName $computer -Credential $cred

$BIOSName = $BIOSName

$BIOSVersion = $BIOSVersion

Add-Content -Path D:\Summarytxt -Value "-----Information of $computer-----"

Add-Content -Path D:\Summarytxt -Value "BIOS Name: $BIOSName"

Add-Content -Path D:\Summarytxt -Value "BIOS Version: $BIOSVersion"

#其它参数可以参考网上的资料

}

如果用户名和密码都是一样的,则可以省略掉创建凭据的一部分,同时可以省略参数-Credential $cred

如果发链接,可能会被提示非法,提交失败的。如果有问题请百度一下资料,或追问。

VB可以使用Windows管理设备(WMI)进行读取计算机硬件信息。

Dim s, System, item

Dim i As Integer

Set System = GetObject("winmgmts:")InstancesOf("Win32_ComputerSystem")

For Each item In System

‘List1AddItem itemcputype

s = "Computer Info" & vbCrLf

s = s & "" & vbCrLf

s = s & "计算机名称: " & itemname & vbCrLf

s = s & "状态: " & itemStatus & vbCrLf

s = s & "类型: " & itemSystemType & vbCrLf

s = s & "生产厂家: " & itemManufacturer & vbCrLf

s = s & "型号: " & itemModel & vbCrLf

s = s & "内存: ~" & itemtotalPhysicalMemory \ 1024000 & "mb" & vbCrLf

s = s & "域: " & itemdomain & vbCrLf

‘s = s & "工作组" & itemWorkgroup & vbCrLf ‘获得工作组和域的选项不能同时用

s = s & "当前用户: " & itemusername & vbCrLf

s = s & "启动状态" & itemBootupState & vbCrLf

s = s & "该计算机属于" & itemPrimaryOwnerName & vbCrLf

s = s & "系统类型" & itemCreationClassName & vbCrLf

s = s & "计算机类类型" & itemDescription & vbCrLf

For i = 0 To 1 ‘这里假设安装了两个系统

s = s & Chr(5) & "启动选项" & i & " :" & itemSystemStartupOptions(i) _

& vbCrLf

Next i

Next

Text1Text = s

运行上面的代码后,在textBox中就可以显示计算机的信息。

在上面的代码中,程序通过GetObject("winmgmts:")获得WMI对象,然后获得下面的

Win32_ComputerSystem子项并通过访问Win32_ComputerSystem对象中的分项获得系统中的信息。

需要说明的是,并不是所有的系统都支持WMI,在有些系统中无法显示生产厂家等信息。

tmpstr=""

set fso=createObject("scriptingfilesystemObject")

Set dc = fsoDrives

for each d in dc

If disReady Then

    tmpstr=tmpstr & "磁盘" & dDriveLetter & ":" & vbcrlf &_

    "可用空间:" & (dAvailableSpace/1024/1024/1024) & " GB" & vbcrlf &_

    "空余空间:" & (dFreeSpace/1024/1024/1024) & " GB"  &vbcrlf &_

    "总空间大小:" & (dTotalSize/1024/1024/1024) & " GB"  &vbcrlf &_

    "文件系统:" & dFileSystem & vbcrlf &_

    "驱动器类型:" & dDriveType &vbcrlf &_

    "是否就绪:" & dIsReady &vbcrlf &_

    "路径:" & dPath &vbcrlf &_

    "根目录:" & dRootFolder &vbcrlf &_

    "序列号:" & dSerialNumber &vbcrlf &_

    "共享名:" & dShareName &vbcrlf &_

    "卷名:" & dVolumeName &vbcrlf &vbcrlf

 End If

Next

msgbox tmpstr

以上就是关于求VBS获取电脑硬件信息,并保存全部的内容,包括:求VBS获取电脑硬件信息,并保存、如何直接获取systeminfo 里面的OS信息、如何知道网站利用JS通过WMI获取客户端哪些硬件的信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10092189.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存