我的编程空间,编程开发者的网络收藏夹
学习永远不晚

脚本RGIS.vbs如何远程或本地获取系统信息

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

脚本RGIS.vbs如何远程或本地获取系统信息

本篇内容主要讲解“脚本RGIS.vbs如何远程或本地获取系统信息”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“脚本RGIS.vbs如何远程或本地获取系统信息”吧!

*******************************************************************************
RGIS v1.03
Remote Get Infomation Script, by zzzEVAzzz
Welcome to visite www.isgrey.com & www.h5h5.com
Usage:
cscript rgis.vbs [/r targetIP username password] [/o filename] [/v] [/a] [/h]
/r: remote get info.
/o: output to file.
/v: get more infomation.
/a: get applications infomation.
/h: show usage.
*******************************************************************************

描述:远程或本地获取系统信息的脚本。
特点:不依赖于目标的ipc$开放与否。
原理:直接访问目标的windows管理规范服务(WMI)。
支持平台:win2kpro win2kserver winxp
使用方法:
在命令行方式下使用windows自带的脚本宿主程序cscript.exe调用脚本,例如:

c:\>cscript rgis.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
   set objshell=wscript.createobject("wscript.shell")
   objshell.run("cmd.exe /k cscript //nologo "&chr(34)&wscript.scriptfullname&chr(34))
   wscript.quit
end if
with wscript.arguments
if .count>0 then
   ipaddress="."
   outfile=""
   username=""
   password=""
   viewtype=0
   program=0
   for arg=0 to .count-1
      select case left(lcase(.item(arg)),2)
      case "/h","/?","\h","\?"
         usage()
     wscript.quit
      case "/r","\r"
     if arg+3<=.count-1 then
     ipaddress=.item(arg+1)
     username=.item(arg+2)
     password=.item(arg+3)
     else
     wscript.echo "Arguments Error!"&vbcrlf
     usage()
     wscript.quit
     end if
      case "/v","\v"
     viewtype=1
      case "/o","\o"
     outfile=.item(arg+1)
      case "/a","\a"
     program=1
      end select
   next
end if
end with

on error resume next
if outfile<>"" then
   set fs=createobject("scripting.filesystemobject")
   showerr()
   set of=fs.opentextfile(outfile,8,true)
   showerr()
end if
wscript.echo "Getting Infomation...."&vbcrlf
set objlocator=createobject("wbemscripting.swbemlocator")
showerr()
set objswb=objlocator.connectserver(ipaddress,"root/cimv2",username,password)
showerr()
on error goto 0

set obj1=objget("win32_computersystem")
set obj2=objget("win32_operatingsystem")
set col3=objswb.instancesof("win32_processor")
set obj4=objget("win32_logicalmemoryconfiguration")
set obj5=objget("win32_bios")
set obj6=objget("win32_displayconfiguration")
set col7=objswb.instancesof("win32_diskdrive")
set col8=objswb.instancesof("win32_logicaldisk")
set col9=objswb.instancesof("win32_networkadapterconfiguration")
set col10=objswb.instancesof("win32_quickfixengineering")
if program=1 then
   set objswb1=objlocator.connectserver(ipaddress,"root/default",username,password)
   set obj11=objswb1.get("stdregprov")
end if

wnl "OS Info :"
wnl "  Computer Name : "&obj1.name
wnl "  User Name : "&obj1.username
wnl "  Domain : "&obj1.domain
domainrole=""
select case obj1.domainrole
case 0
   domainrole="Workstation"
case 1
   domainrole="Member Workstation"
case 2
   domainrole="Server"
case 3
   domainrole="Member Server"
case 4
   domainrole="Backup Domain Controller"
case 5
   domainrole="Main Domain Controller"
end select
with obj2
wnl "  Domain Role : "&domainrole
wnl "  Caption : "&.caption
wnl "  Organization : "&.organization
wnl "  Registered User : "&.registereduser
wnl "  Install Date : "&timeformat(.installdate)
wnl "  Last BootUp Time : "&timeformat(.lastbootuptime)
wnl "  Windows Directory : "&.windowsdirectory
if viewtype=1 then
wnl "  System Directory : "&.systemdirectory
wnl "  Boot Device : "&.bootdevice
wnl "  Country Code : "&.countrycode
wnl "  CSName : "&.csname
wnl "  Description : "&.description
wnl "  Manufacturer : "&.manufacturer
wnl "  Serial Number : "&.serialnumber
wnl "  Version : "&.version
wnl "  System Type : "&obj1.systemtype
wnl "  System Startup Delay : "&obj1.systemstartupdelay&"s"
wnl "  System Startup Options : "&obj1.systemstartupoptions(0)
for i=1 to ubound(obj1.systemstartupoptions)
   wnl space(28)&obj1.systemstartupoptions(i)
next
end if
end with

wnl vbcrlf&"Processor Info :"
wnl "  Number Of Processors : "&obj1.numberofprocessors
for each obj3 in col3
with obj3
wnl "  Device ID : "&.deviceid
wnl "  Name : "&.name
wnl "  Current Clock Speed : "&.currentclockspeed&"MHz"
wnl "  Description : "&.description
if viewtype=1 then
wnl "  Ext Clock : "&.extclock&"MHz"
wnl "  L2 Cache Size : "&.l2cachesize&"KB"
wnl "  L2 Cache Speed : "&.l2cachespeed&"MHz"
wnl "  Processor Id : "&.processorid
wnl "  Manufacturer : "&.manufacturer
wnl "  Socket Designation : "&.socketdesignation
wnl "  Address Width : "&.addresswidth&"Bit"
wnl "  Data Width : "&.datawidth&"Bit"
end if
end with
next

with obj4
wnl vbcrlf&"Memory Info :"
wnl "  Total Physical Memory : "&cint(.totalphysicalmemory/1024)&"MB"
wnl "  Free Physical Memory : "&cint(obj2.freephysicalmemory/1024)&"MB"
if viewtype=1 then
wnl "  Total PageFile Space : "&cint(.totalpagefilespace/1024)&"MB"
wnl "  Total Virtual Memory : "&cint(.totalvirtualmemory/1024)&"MB"
wnl "  Available Virtual Memory : "&cint(.availablevirtualmemory/1024)&"MB"
end if
end with

if viewtype=1 then
wnl vbcrlf&"BIOS Info :"
wnl "  Description : "&obj5.description
wnl "  Current Language : "&obj5.currentlanguage
wnl "  Version : "&obj5.version
wnl "  Manufacturer : "&obj5.manufacturer
end if

with obj6
wnl vbcrlf&"Display Configuration :"
wnl "  Caption : "&.caption
if viewtype=1 then
wnl "  Device Name : "&.devicename
wnl "  Driver Version : "&.driverversion
end if
wnl "  Display Frequency : "&.displayfrequency&"Hz"
wnl "  Bits Per Pel : "&.bitsperpel&"Bit"
wnl "  Pels : "&.pelswidth&" x "&.pelsheight
end with

wnl vbcrlf&"Disk Info :"
for each obj7 in col7
with obj7
wnl "  DeviceID : "&.deviceid
wnl "  Caption : "&.caption
wnl "  Interface Type : "&.interfacetype
if viewtype=1 then
wnl "  SCSI Bus : "&.scsibus
wnl "  SCSI Logical Unit : "&.scsilogicalunit
wnl "  SCSI Port : "&.scsiport
wnl "  SCSI TargetId : "&.scsitargetid
wnl "  Sectors Per Track : "&.sectorspertrack&"KB"
end if
wnl "  Partitions : "&.partitions
wnl "  Size : "&sizeformat(.size)
end with
next
str="  Volume"+space(2)+"Type"+space(8)+"Format"+space(4)
str=str+"Size"+space(6)+"Free"+space(12)+"Label"
wnl str
for each obj8 in col8
with obj8
drivetype=""
select case .drivetype
case 0
   drivetype="Unknow"
case 1
   drivetype="NoRootDir"
case 2
   drivetype="Removable"
case 3
   drivetype="Fixed"
case 4
   drivetype="Network"
case 5
   drivetype="CD-ROM"
case 6
   drivetype="RAM"
end select
strpercent=""
if .size<>"" and .freespace<>"" then
strpercent=" ("&formatpercent(.freespace/.size,0)&")"
end if
str="  "&wsp(.caption,8)&wsp(drivetype,12)&wsp(.filesystem,10)&wsp(sizeformat(.size),10)
str=str&wsp(sizeformat(.freespace)&strpercent,16)&.volumename
wnl str
end with
next

wnl vbcrlf&"NIC Informaton :"
for each obj9 in col9
with obj9
if .IPEnabled then
wnl "  Index : "&.index
wnl "  Description : "&.description
if viewtype=1 then
wnl "  DHCP Enabled : "&.dhcpenabled
wnl "  DHCP Server : "&.dhcpserver
wnl "  DNS Host Name : "&.dnshostname
wnl "  DNS Server Search Order : "&wfl(.dnsserversearchorder)
wnl "  WINS Primary Server : "&.winsprimaryserver
end if
wnl "  IP Address : "&wfl(.ipaddress)
wnl "  MAC Address : "&.macaddress
wnl "  Default IP Gateway : "&wfl(.defaultipgateway)
wnl "  IP Subnet : "&wfl(.ipsubnet)
if viewtype=1 then
wnl "  IP Filter Security Enabled : "&.ipfiltersecurityenabled
wnl "  IPSec Permit IP Protocols : "&wfl(.ipsecpermitipprotocols)
wnl "  IPSec Permit TCP Ports : "&wfl(.ipsecpermittcpports)
wnl "  IPSec Permit UDP Ports : "&wfl(.ipsecpermitudpports)
end if
end if
end with
next

if viewtype=1 then
wnl vbcrlf&"Hot Fixes Info :"
for each obj10 in col10
wnl "  Hot Fix ID : "&obj10.hotfixid
wnl "  Fix Comments : "&obj10.fixcomments
wnl "  Install Date : "&obj10.installdate
wnl "  Service Pack In Effect : "&obj10.servicepackineffect
next
end if

if program=1 then
wnl vbcrlf&"Applications :"
HKLM=&h80000002
keypath="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
obj11.enumkey HKLM,keypath,keyarray
redim str(ubound(keyarray)+1)
j=0
for i=0 to ubound(keyarray)
   obj11.getstringvalue HKLM,keypath+keyarray(i),"displayname",strvalue
   if strvalue<>"" then
   str(j)=strvalue
   j=j+1
   end if
next
if j>1 then
for i=0 to j-1
   for k=0 to j-i-1
      if strcomp(str(k),str(k+1),1)=1 then
     strtemp=str(k+1)
     str(k+1)=str(k)
     str(k)=strtemp
      end if
   next
next
end if
for i=0 to j-1
   wnl "  "&str(i)
next
end if

sub showerr()
if err.number then
   wscript.echo "Error 0x"&cstr(hex(err.number))&" ."
   if err.description<>"" then
      wscript.echo "Error description: "&err.description&"."
   end if
   wscript.quit
end if
end sub

sub wnl(msg)
wscript.echo msg
if isobject(of) then
   on error resume next
   of.writeline msg
   showerror()
   on error goto 0
end if
end sub

function wfl(byref obj)
str=""
for i=0 to ubound(obj)
   str=str&obj(i)&" "
next
wfl=str
end function

function wsp(msg,num)
if msg<>"" then
   msg=left(msg,num-1)
   wsp=msg&space(num-len(msg))
else
   wsp=space(num)
end if
end function

function timeformat(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)
end function

function sizeformat(msg)
if msg<>"" then
size=msg/1048576
if size>1024 then
  sizeformat=round(size/1024,2)&"GB"
else
  sizeformat=round(size,1)&"MB"
end if
end if
end function

function objget(msg)
set col=objswb.instancesof(msg)
for each objx in col
   set obj=objx
next
set objget=obj
end function

function usage()
wscript.echo string(79,"*")
wscript.echo "RGIS v1.03"
wscript.echo "Remote Get Infomation Script, by zzzEVAzzz"
wscript.echo "Welcome to visite www.isgrey.com & www.h5h5.com"
wscript.echo "Usage:"
wscript.echo "cscript rgis.vbs [/r targetIP username password] [/o filename] [/v] [/a] [/h]"
wscript.echo "/r: remote get info."
wscript.echo "/o: output to file."
wscript.echo "/v: get more infomation."
wscript.echo "/a: get applications infomation."
wscript.echo "/h: show usage."
wscript.echo string(79,"*")&vbcrlf
end function

到此,相信大家对“脚本RGIS.vbs如何远程或本地获取系统信息”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

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

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

脚本RGIS.vbs如何远程或本地获取系统信息

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

脚本RGIS.vbs如何远程或本地获取系统信息

本篇内容主要讲解“脚本RGIS.vbs如何远程或本地获取系统信息”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“脚本RGIS.vbs如何远程或本地获取系统信息”吧!****************
2023-06-08

Python脚本获取操作系统版本信息

查看系统版本信息是一件家常便饭的事情,有时候需要将版本信息录入到资产管理系统中,如果每次手动的去查询这些信息再录入系统那么是一件令人呢头疼的事情,如果采用脚本去完成这件事情,那么情况就有所不同了。 在Python的世界里,获取Windows
2022-06-04

微信小程序中如何获取系统信息

这篇“微信小程序中如何获取系统信息”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“微信小程序中如何获取系统信息”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入
2023-06-26

小程序开发中如何获取系统信息

本文将为大家详细介绍“小程序开发中如何获取系统信息”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“小程序开发中如何获取系统信息”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知
2023-06-26

小程序开发中如何使用wx.getSavedFileInfo获取本地文件的文件信息

这篇文章主要为大家展示了小程序开发中如何使用wx.getSavedFileInfo获取本地文件的文件信息,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“小程序开发中如何使用wx.getSavedFi
2023-06-26

如何编写可以得到当前系统信息的脚本sysinfo.vbs

本篇内容介绍了“如何编写可以得到当前系统信息的脚本sysinfo.vbs”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!复制代码 代码如下:i
2023-06-08

使用VBS脚本如何收集远程计算机或本地计算机安装的软件

使用VBS脚本如何收集远程计算机或本地计算机安装的软件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。制作VBS脚本保存下面的VBS程序代码到vbs文件中On Error R
2023-06-06

如何实现获取磁盘IO与系统负载Load的shell脚本

这篇文章主要介绍了如何实现获取磁盘IO与系统负载Load的shell脚本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1,提取系统负载信息代码如下:#!/bin/shhost
2023-06-09

小程序开发中如何获取系统信息同步接口

这篇文章主要为大家展示了小程序开发中如何获取系统信息同步接口,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“小程序开发中如何获取系统信息同步接口”这篇文章吧。获取系统信息同步接口同步返回参数说明:参
2023-06-26

Bash脚本如何实现每次登录到Shell时可以查看Linux系统信息

小编给大家分享一下Bash脚本如何实现每次登录到Shell时可以查看Linux系统信息,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Linux 中有很多可以查看系统信息如处理器信息、生产商名字、序列号等的命令。你可能需要执
2023-06-16

Bash脚本如何实现每次登录到 Shell 时可以查看 Linux 系统信息

这篇文章主要介绍Bash脚本如何实现每次登录到 Shell 时可以查看 Linux 系统信息,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux 中有很多可以查看系统信息如处理器信息、生产商名字、序列号等的命令。
2023-06-09

微信小程序如何从本地缓存中异步获取指定key对应的内容

这篇文章主要为大家展示了微信小程序如何从本地缓存中异步获取指定key对应的内容,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“微信小程序如何从本地缓存中异步获取指定key对应的内容”这篇文章吧。从本
2023-06-26

微信小程序如何从本地缓存中同步获取指定key对应的内容

这篇文章主要为大家展示了微信小程序如何从本地缓存中同步获取指定key对应的内容,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“微信小程序如何从本地缓存中同步获取指定key对应的内容”这篇文章吧。从本
2023-06-26

Linux系统远程如何连接Oracle服务器进行配置监听及本地网络服务

这篇文章的内容主要围绕Linux系统远程如何连接Oracle服务器进行配置监听及本地网络服务进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!1**.配
2023-06-28

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录