用vbs实现获取电脑硬件信息的脚本_最新版第1/4页
作者 佚名
来源 ASP编程
浏览
发布时间 2013-07-09
分代码 ''转贴、引用脚本的全部或部分代码请保留版权 ''************************************** ''********************************说明开始************************************* ''Input格式:起始IP-数量=用户名=密码;起始计算机名-数量=用户名=密码 ''多个配置项用“;”隔开 ''例:192.168.0.1-10指明IP范围为192.168.0.1~192.168.0.10,支持跨网段 ''例:PC001-10指明范围为PC001~PC010(计算机名可以包含-号) ''与指定格式不相同的,默认为单IP[计算机名],也可以在"未扫描的计算机.txt"里配置 ''"硬件信息.txt"是以逗号分隔各项硬件信息,你需要自己导入XLS整理、精简 ''未扫描到的计算机,会把机号、用户名、密码保存到"未扫描的计算机.txt" ''再次运行脚本将只读取"未扫描的计算机.txt"里的信息(如果存在并且大小不为0) ''********************************说明结束************************************* DimInput,InfoOutFile,LogFile''请按格式给Input赋值 ''Input="pc021=administrator=cylslynetbar" Input="PC001-109=administrator=cylslynetbar;pc110-85=administrator=LYjfnetbaradmin" InfoOutFile="硬件信息.txt" LogFile="未扫描的计算机.txt" RedimarrConfig(0) DimWshShell,FSO,intCount1,intCount2 intCount1=0 intCount2=0 SetWshShell=WScript.CreateObject("WScript.Shell") SetFSO=WScript.Createobject("Scripting.Filesystemobject") ReadConfig WshShell.Popup"扫描过程会很慢,请耐心等待,完成后会给出提示",,"扫描开始" LinkRemoteServerarrConfig DimLenNum1,LenNum2 IfintCount1>intCount2Then LenNum1=0 LenNum2=Len(intCount1)-Len(intCount2) Else LenNum1=Len(intCount2)-Len(intCount1) LenNum2=0 EndIf SortInfoOutFile WshShell.Popup"扫描结果:"&_ vbCrLf&vbTab&"扫描成功:"&Space(LenNum1)&intCount1&"台"&_ vbCrLf&vbTab&"扫描失败:"&Space(LenNum2)&intCount2&"台"&_ vbCrLf&"扫描失败的电脑已做记录,再次运行脚本只扫描记录里的电脑",,"扫描完成" FunctionReadConfig DimobjMatches,objMatche,objLogFile,arrLog,intUBarrConfig IfFSO.FileExists(LogFile)Then IfFSO.GetFile(LogFile).Size=0Then SetobjMatches=GetMatche("([^;=]+)=([^;=]+)=([^;=]+)",Input) ForEachobjMatcheInobjMatches GetConfigobjMatche.SubMatches(0),objMatche.SubMatches(1),objMatche.SubMatches(2) Next IfobjMatches.Count=0Then Msgbox"配置信息格式不正确,请修改" WScript.Quit EndIf Else SetobjLogFile=FSO.OpenTextFile(LogFile) DoUntilobjLogFile.AtEndOfStream arrLog=Split(objLogFile.ReadLine,"=") intUBarrConfig=((Ubound(arrConfig)+1)\3+1)*3-1 RedimPreservearrConfig(intUBarrConfig) arrConfig(intUBarrConfig-2)=arrLog(0) arrConfig(intUBarrConfig-1)=arrLog(1) arrConfig(intUBarrConfig-0)=arrLog(2) Loop EndIf Else SetobjMatches=GetMatche("([^;=]+)=([^;=]+)=([^;=]+)",Input) ForEachobjMatcheInobjMatches GetConfigobjMatche.SubMatches(0),objMatche.SubMatches(1),objMatche.SubMatches(2) Next IfobjMatches.Count=0Then Msgbox"配置信息格式不正确,请修改" WScript.Quit EndIf EndIf EndFunction ''********************************************************************************* ''目的:连接到远程主机的WMI命名空间 ''输入:arrArray数组,包含有计算机名[IP]、用户名、密码 ''调用:LinkServer过程 ''如果返回SWbemLocator对象ConnectServer方法的实例,调用OutInfo过程 ''如果返回Err信息(字符串类型),输出计算机名[IP]、用户名、密 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 使用vbs下载文件的代码加强版下一篇: vbs实现右键菜单中添加CMD HERE
关于用vbs实现获取电脑硬件信息的脚本_最新版第1/4页的所有评论