远程或本地获取系统信息的脚本RGIS.vbs
作者 佚名
来源 ASP编程
浏览
发布时间 2013-07-09
******************************************************************************* RGISv1.03 RemoteGetInfomationScript,byzzzEVAzzz Welcometovisitewww.isgrey.com&www.h4h4.com Usage: cscriptrgis.vbs[/rtargetIPusernamepassword][/ofilename][/v][/a][/h] /r:remotegetinfo. /o:outputtofile. /v:getmoreinfomation. /a:getapplicationsinfomation. /h:showusage. ******************************************************************************* 描述:远程或本地获取系统信息的脚本。 特点:不依赖于目标的ipc$开放与否。 原理:直接访问目标的windows管理规范服务(WMI)。 支持平台:win2kprowin2kserverwinxp 使用方法: 在命令行方式下使用windows自带的脚本宿主程序cscript.exe调用脚本,例如: c:\>cscriptrgis.vbs[/r目标IP用户名密码][/o输出文件][/v][/a][/h] 参数都是可选的。 /r用于远程获得信息。空密码用""表示。 /o加输出文件路径和名字,如文件不存在则自动新建,如存在则添加信息在末尾。 /v获取详细信息。 /a获取应用程序信息。 /h显示Usage。 不加参数则显示本地信息。 脚本访问的目标的135端口,如果目标135端口未开放,或者WMI服务关闭,那么脚本无法使用。 另外,网络不是很好时,可能会等待较多的时间。 有问题和建议请到灰色轨迹论坛或H4网络安全论坛发短消息给我。我的ID是zzzevazzz 最后更新:2002-12-7 更新记录: 1.03增加获得应用程序信息的功能 1.02增加获得HotFix和端口过滤简单信息的功能 1.01增加输出到文件的功能 1.00最初版本 复制代码 代码如下: if(lcase(right(wscript.fullname,11))="wscript.exe")then setobjshell=wscript.createobject("wscript.shell") objshell.run("cmd.exe/kcscript//nologo"&chr(34)&wscript.scriptfullname&chr(34)) wscript.quit endif withwscript.arguments if.count>0then ipaddress="." outfile="" username="" password="" viewtype=0 program=0 forarg=0to.count-1 selectcaseleft(lcase(.item(arg)),2) case"/h","/?","\h","\?" usage() wscript.quit case"/r","\r" ifarg+3<=.count-1then ipaddress=.item(arg+1) username=.item(arg+2) password=.item(arg+3) else wscript.echo"ArgumentsError!"&vbcrlf usage() wscript.quit endif case"/v","\v" viewtype=1 case"/o","\o" outfile=.item(arg+1) case"/a","\a" program=1 endselect next endif endwith onerrorresumenext ifoutfile<>""then setfs=createobject("scripting.filesystemobject") showerr() setof=fs.opentextfile(outfile,8,true) showerr() endif wscript.echo"GettingInfomation...."&vbcrlf setobjlocator=createobject("wbemscripting.swbemlocator") showerr() setobjswb=objlocator.connectserver(ipaddress,"root/cimv2",username,password) showerr() onerrorgoto0 setobj1=objget("win32_computersystem") setobj2=objget("win32_operatingsystem") setcol3=objswb.instancesof("win32_processor") setobj4=objget("win32_logicalmemoryconfiguration") setobj5=objget("win32_bios") setobj6=objget("win32_displayconfiguration") setcol7=objswb.instancesof("win32_diskdrive") setcol8=objswb.instancesof("win32_logicaldisk") setcol9=objswb.instancesof("win32_networkadapterconfiguration") setcol10=objswb.instancesof("win32_quickfixengineering") ifprogram=1then setobjswb1=objlocator.connectserver(ipaddress,"root/default",username,password) setobj11=objswb1.get("stdregprov") endif wnl"OSInfo:" wnl"ComputerName:"&obj1.name wnl"UserName:"&obj1.username wnl"Domain:"&obj1.domain domainrole="" selectcaseobj1.domainrole case0 domainrole="Workstation" case1 domainrole="MemberWorkstation" case2 domainrole="Server" case3 domainrole="MemberServer" case4 domainrole="BackupDomainController" case5 domainrole="MainDomainController" endselect withobj2 wnl"DomainRole:"&domainrole wnl"Caption:"&.caption wnl"Organization:"&.organization wnl"RegisteredUser:"&.registereduser wnl"InstallDate:"&timeformat(.installdate) wnl"LastBootUpTime:"&timeformat(.lastbootuptime) wnl"WindowsDirectory:"&.windowsdirectory ifviewtype=1then wnl"SystemDirectory:"&.systemdirectory wnl"BootDevice:"&.bootdevice wnl"CountryCode:"&.countrycode wnl"CSName:"&.csname wnl"Description:"&.description wnl"Manufacturer:"&.manufacturer wnl"SerialNumber:"&.serialnumber wnl"Version:"&.version wnl"SystemType:"&obj1.systemtype wnl"SystemStartupDelay:"&obj1.systemstartupdelay&"s" wnl"SystemStartupOptions:"&obj1.systemstartupoptions(0) fori=1toubound(obj1.systemstartupoptions) wnlspace(28)&obj1.systemstartupoptions(i) next endif endwith wnlvbcrlf&"ProcessorInfo:" wnl"NumberOfProcessors:"&obj1.numberofprocessors foreachobj3incol3 withobj3 wnl"DeviceID:"&.deviceid wnl"Name:"&.name wnl"CurrentClockSpeed:"&.currentclockspeed&"MHz" wnl"Description:"&.description ifviewtype=1then wnl"ExtClock:"&.extclock&"MHz" wnl"L2CacheSize:"&.l2cachesize&"KB" wnl"L2CacheSpeed:"&.l2cachespeed&"MHz" wnl"ProcessorId:"&.processorid wnl"Manufacturer:"&.manufacturer wnl"SocketDesignation:"&.socketdesignation wnl"AddressWidth:"&.addresswidth&"Bit" wnl"DataWidth:"&.datawidth&"Bit" endif endwith next withobj4 wnlvbcrlf&"MemoryInfo:" wnl"TotalPhysicalMemory:"&cint(.totalphysicalmemory/1024)&"MB" wnl"FreePhysicalMemory:"&cint(obj2.freephysicalmemory/1024)&"MB" ifviewtype=1then wnl"TotalPageFileSpace:"&cint(.totalpagefilespace/1024)&"MB" wnl"TotalVirtualMemory:"&cint(.totalvirtualmemory/1024)&"MB" wnl"AvailableVirtualMemory:"&cint(.availablevirtualmemory/1024)&"MB" endif endwith ifviewtype=1then wnlvbcrlf&"BIOSInfo:" wnl"Description:"&obj5.description wnl"CurrentLanguage:"&obj5.currentlanguage wnl"Version:"&obj5.version wnl"Manufacturer:"&obj5.manufacturer endif withobj6 wnlvbcrlf&"DisplayConfiguration:" wnl"Caption:"&.caption ifviewtype=1then wnl"DeviceName:"&.devicename wnl"DriverVersion:"&.driverversion endif wnl"DisplayFrequency:"&.displayfrequency&"Hz" wnl"BitsPerPel:"&.bitsperpel&"Bit" wnl"Pels:"&.pelswidth&"x"&.pelsheight endwith wnlvbcrlf&"DiskInfo:" foreachobj7incol7 withobj7 wnl"DeviceID:"&.deviceid wnl"Caption:"&.caption wnl"InterfaceType:"&.interfacetype ifviewtype=1then wnl"SCSIBus:"&.scsibus wnl"SCSILogicalUnit:"&.scsilogicalunit wnl"SCSIPort:"&.scsiport wnl"SCSITargetId:"&.scsitargetid wnl"SectorsPerTrack:"&.sectorspertrack&"KB" endif wnl"Partitions:"&.partitions wnl"Size:"&sizeformat(.size) endwith next str="Volume"+space(2)+"Type"+space(8)+"Format"+space(4) str=str+"Size"+space(6)+"Free"+space(12)+"Label" wnlstr foreachobj8incol8 withobj8 drivetype="" selectcase.drivetype case0 drivetype="Unknow" case1 drivetype="NoRootDir" case2 drivetype="Removable" case3 drivetype="Fixed" case4 drivetype="Network" case5 drivetype="CD-ROM" case6 drivetype="RAM" endselect strpercent="" if.size<>""and.freespace<>""then strpercent="("&formatpercent(.freespace/.size,0)&")" endif str=""&wsp(.caption,8)&wsp(drivetype,12)&wsp(.filesystem,10)&wsp(sizeformat(.size),10) str=str&wsp(sizeformat(.freespace)&strpercent,16)&.volumename wnlstr endwith next wnlvbcrlf&"NICInformaton:" foreachobj9incol9 withobj9 if.IPEnabledthen wnl"Index:"&.index wnl"Description:"&.description ifviewtype=1then wnl"DHCPEnabled:"&.dhcpenabled wnl"DHCPServer:"&.dhcpserver wnl"DNSHostName:"&.dnshostname wnl"DNSServerSearchOrder:"&wfl(.dnsserversearchorder) wnl"WINSPrimaryServer:"&.winsprimaryserver endif wnl"IPAddress:"&wfl(.ipaddress) wnl"MACAddress:"&.macaddress wnl"DefaultIPGateway:"&wfl(.defaultipgateway) wnl"IPSubnet:"&wfl(.ipsubnet) ifviewtype=1then wnl"IPFilterSecurityEnabled:"&.ipfiltersecurityenabled wnl"IPSecPermitIPProtocols:"&wfl(.ipsecpermitipprotocols) wnl"IPSecPermitTCPPorts:"&wfl(.ipsecpermittcpports) wnl"IPSecPermitUDPPorts:"&wfl(.ipsecpermitudpports) endif endif endwith next ifviewtype=1then wnlvbcrlf&"HotFixesInfo:" foreachobj10incol10 wnl"HotFixID:"&obj10.hotfixid wnl"FixComments:"&obj10.fixcomments wnl"InstallDate:"&obj10.installdate wnl"ServicePackInEffect:"&obj10.servicepackineffect next endif ifprogram=1then wnlvbcrlf&"Applications:" HKLM=&h80000002 keypath="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" obj11.enumkeyHKLM,keypath,keyarray redimstr(ubound(keyarray)+1) j=0 fori=0toubound(keyarray) obj11.getstringvalueHKLM,keypath+keyarray(i),"displayname",strvalue ifstrvalue<>""then str(j)=strvalue j=j+1 endif next ifj>1then fori=0toj-1 fork=0toj-i-1 ifstrcomp(str(k),str(k+1),1)=1then strtemp=str(k+1) str(k+1)=str(k) str(k)=strtemp endif next next endif fori=0toj-1 wnl""&str(i) next endif subshowerr() iferr.numberthen wscript.echo"Error0x"&cstr(hex(err.number))&"." iferr.description<>""then wscript.echo"Errordescription:"&err.description&"." endif wscript.quit endif endsub subwnl(msg) wscript.echomsg ifisobject(of)then onerrorresumenext of.writelinemsg showerror() onerrorgoto0 endif endsub functionwfl(byrefobj) str="" fori=0toubound(obj) str=str&obj(i)&"" next wfl=str endfunction functionwsp(msg,num) ifmsg<>""then msg=left(msg,num-1) wsp=msg&space(num-len(msg)) else wsp=space(num) endif endfunction functiontimeformat(msg) timeformat=left(msg,4)&"/"&mid(msg,5,2)&"/"&mid(msg,7,2)&""&mid(msg,9,2)&":"&mid(msg,11,2)&":"&mid(msg,13,2) endfunction functionsizeformat(msg) ifmsg<>""then size=msg/1048576 ifsize>1024then sizeformat=round(size/1024,2)&"GB" else sizeformat=round(size,1)&"MB" endif endif endfunction functionobjget(msg) setcol=objswb.instancesof(msg) foreachobjxincol setobj=objx next setobjget=obj endfunction functionusage() wscript.echostring(79,"*") wscript.echo"RGISv1.03" wscript.echo"RemoteGetInfomationScript,byzzzEVAzzz" wscript.echo"Welcometovisitewww.isgrey.com&www.h4h4.com" wscript.echo"Usage:" wscript.echo"cscriptrgis.vbs[/rtargetIPusernamepassword][/ofilename][/v][/a][/h]" wscript.echo"/r:remotegetinfo." wscript.echo"/o:outputtofile." wscript.echo"/v:getmoreinfomation." wscript.echo"/a:getapplicationsinfomation." wscript.echo"/h:showusage." wscript.echostring(79,"*")&vbcrlf endfunction |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于远程或本地获取系统信息的脚本RGIS.vbs的所有评论