脚本-收集计算机信息

闲来无事,想把公司域内的计算机统计一些乱七八糟的信息出来.但是我比较懒,没有把我公司环境的内容修改成大家都可以用的,仅仅放在这里给大家一个思路.我对代码确实是不太懂的,做的东西也都是东拼西凑只为满足需求就可以,代码漂亮度就不纠结了.

说明一下,上面的是BAT批处理,下面的是VBS脚本.因为从WMI拿数据我不知道怎么在批处理里面做.在批处理前面一段是用来拿批处理能拿到的信息,中间调用了VBS来拿WMI里面的数据.然后在批处理结尾把导出的TXT文本调整一下.

注意:这只是我随手的分享我自己的环境下能用的东西,其他地方并不一定能用,只是给大家一个思路.请有一定代码能力的人修改后再用到自己的环境.我并不对这段代码负责.

另外有写批处理,VBS或POWERSHELL厉害的能教教我吗...

以下是批处理

@echo off
echo 请输入保存位置
set /p oppath=
set t=%time: =0%
echo ====================================================>"%oppath%\%computername%-%username%.txt"
echo 计算机相关信息>>"%oppath%\%computername%-%username%.txt"
echo.>>"%oppath%\%computername%-%username%.txt"
echo 最后一次登陆时间:            %date:~,4%年%date:~5,2%月%date:~8,2%日 %t:~0,2%时%t:~3,2%分%t:~6,2%秒>>"%oppath%\%computername%-%username%.txt"
echo 计算机名:                    %computername%>>"%oppath%\%computername%-%username%.txt"
net config workstation | find "计算机全名" >>"%oppath%\%computername%-%username%.txt"
echo 当前登录的计算机名:          %computername%>>"%oppath%\%computername%-%username%.txt"
echo 当前登录的用户名:            %username%>>"%oppath%\%computername%-%username%.txt"
echo ====================================================>>"%oppath%\%computername%-%username%.txt"
echo IP地址相关信息>>"%oppath%\%computername%-%username%.txt"
echo.>>"%oppath%\%computername%-%username%.txt"
@echo off>>"%oppath%\%computername%-%username%.txt"
ipconfig |find "IPv4">>"%oppath%\%computername%-%username%.txt"
@echo off>>"%oppath%\%computername%-%username%.txt"
ipconfig |find "网关">>"%oppath%\%computername%-%username%.txt"
@echo off>>"%oppath%\%computername%-%username%.txt"
ipconfig/all |find "DNS 服务器">>"%oppath%\%computername%-%username%.txt"
@echo off>>"%oppath%\%computername%-%username%.txt"
ipconfig/all |find "DHCP 服务器">>"%oppath%\%computername%-%username%.txt"
echo ====================================================>>"%oppath%\%computername%-%username%.txt"
echo off
cscript %oppath%\script\Get_Information.vbs>>"%oppath%\%computername%-%username%.txt"
set Keyword1=Microsoft (R) Windows Script Host Version 5.8
set Keyword2=版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。
findstr /v /c:"%Keyword1%" %oppath%\%computername%-%username%.txt>%oppath%\%computername%-%username%.temp
move /y %oppath%\%computername%-%username%.temp %oppath%\%computername%-%username%.txt
findstr /v /c:"%Keyword2%" %oppath%\%computername%-%username%.txt>%oppath%\%computername%-%username%.temp
move /y %oppath%\%computername%-%username%.temp %oppath%\%computername%-%username%.txt
systeminfo >>"%oppath%\%computername%-%username%.txt"
pause

以下是VBS

        Wscript.Echo "计算机硬件信息"
        Wscript.Echo 
strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_BIOS",,48) 
    Wscript.Echo "*计算机品牌"  
For Each objItem in colItems 
    Wscript.Echo objItem.Manufacturer
Wscript.Echo "--------------------------"
Wscript.Echo 
    Wscript.Echo "*序列号"  
    Wscript.Echo objItem.SerialNumber
Next
        Wscript.Echo "--------------------------"
Wscript.Echo 
strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colChassis = objWMIService.ExecQuery _
    ("Select * from Win32_SystemEnclosure")
    Wscript.Echo "*计算机类型"  
For Each objChassis in colChassis
    For  Each strChassisType in objChassis.ChassisTypes
        Select Case strChassisType
            Case 1
                Wscript.Echo "Other"
            Case 2
                Wscript.Echo "Unknown"
            Case 3
                Wscript.Echo "Desktop"
            Case 4
                Wscript.Echo "Low Profile Desktop"
            Case 5
                Wscript.Echo "Pizza Box"
            Case 6
                Wscript.Echo "Mini Tower"
            Case 7
                Wscript.Echo "Tower"
            Case 8
                Wscript.Echo "Portable"
            Case 9
                Wscript.Echo "Laptop"
            Case 10
                Wscript.Echo "Notebook"
            Case 11
                Wscript.Echo "Handheld"
            Case 12
                Wscript.Echo "Docking Station"
            Case 13
                Wscript.Echo "All-in-One"
            Case 14
                Wscript.Echo "Sub-Notebook"
            Case 15
                Wscript.Echo "Space Saving"
            Case 16
                Wscript.Echo "Lunch Box"
            Case 17
                Wscript.Echo "Main System Chassis"
            Case 18
                Wscript.Echo "Expansion Chassis"
            Case 19
                Wscript.Echo "Sub-Chassis"
            Case 20
                Wscript.Echo "Bus Expansion Chassis"
            Case 21
                Wscript.Echo "Peripheral Chassis"
            Case 22
                Wscript.Echo "Storage Chassis"
            Case 23
                Wscript.Echo "Rack Mount Chassis"
            Case 24
                Wscript.Echo "Sealed-Case PC"
            Case Else
                Wscript.Echo "Unknown"
            End Select
    Next
Next
        Wscript.Echo "--------------------------"
nicnum=1
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_Processor",,48) 
For Each objItem in colItems 
    Wscript.Echo 
    Wscript.Echo "*CPU型号"
    Wscript.Echo objItem.Name
Next
        Wscript.Echo "--------------------------"

On Error Resume Next 
dim Memory
Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
 
Set colItems = objWMIService.ExecQuery _ 
    ("Select * from Win32_PhysicalMemory") 
 
For Each objItem in colItems 

   Memory =  objItem.Capacity/1024/1024/1024
    Wscript.Echo 
    Wscript.Echo "*内存容量"  
    Wscript.Echo("Memory=" & Memory & "G")

Next 
    Wscript.Echo "--------------------------"
    Wscript.Echo 

Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_NetworkAdapterConfiguration",,48) 
For Each objItem in colItems 
    If isNull(objItem.IPAddress) Then
        ‘Wscript.Echo "IPAddress: "
    Else
        Wscript.Echo "*网卡"&nicnum
	Wscript.Echo "网卡名称:" &objItem.caption
        Wscript.Echo "IPV4:" & Join(objItem.IPAddress,chr(10)&"IPV6:")
	Wscript.Echo "MAC地址:" &objItem.macAddress&chr(10)
nicnum=nicnum+1
    End If
Next
        Wscript.Echo "--------------------------"
时间: 2024-10-03 13:27:41

脚本-收集计算机信息的相关文章

[ORACLE]管理方面的脚本收集

-----------------------------Cryking原创------------------------------ -----------------------转载请注明出处,谢谢!------------------------ 1.查询AWR相关的视图名称 SELECT table_name FROM dba_tables t WHERE table_name LIKE 'WRH$%' AND NOT EXISTS (SELECT 'x' FROM dba_tab_c

使用WMI对象收集计算机信息

WMI(windows管理规范),是Windows 2K/XP管理系统的核心:对于其他的Win32操作系统,WMI是一个有用的插件.WMI以CIMOM为基础. CIMOM即公共信息模型对象管理器(Common Information Model Object Manager),是一个描述操作系统构成单元的对象数据库,为MMC和脚本程序提供了一个访问操作系统构成单元的公共接口.有了WMI,工具软件和脚本程序访问操作系统的不同部分时不需要使用不同的API:相反,操作系统的不同部分都可以插入WMI,如

shell脚本收集服务器基本信息并入库

# cat check_all.sh #!/bin/bash #create by hexm @2016.6 #date=`date +%Y%m%d` #DIST_FILE=/app/healthcheck #EXEC_LOG=/app/healthcheck/log/exec_$date.log set -e IP=`ifconfig eth1|awk -F"[ :]+" 'NR==2{print $4}'` #加载变量 . /app/healthcheck/scripts/glob

OGG维护优化脚本(二十三)-OGG状态监控系统--界面介绍

原本只是想做个简单的界面简单显示之前信息收集类脚本收集的goldengate的运行状况.后来感觉不错就慢慢的加了一些东西 具体界面如下 分为配置信息及状态,错误日志信息,replicat写入错误日志记录,以及附加日志异常记录 配置信息状态显示每个链路的具体配置信息以及进程状态, 正常状态下以蓝色NORMAL关键字显示 当有延时,进程中断等情况时,红色ALERT关键字显示异常状态 日志等监控界面会统计error的数量并以数字显示. 可以通过点击表格单元查看具体链路的信息状态 日志信息 写入进程异常

cacti监控工具之自定数据收集方法

目录 1.引语 2.使用自定义数据收集方法完成设备监控 2.1.创建数据收集脚本 2.2.定义Data Input Methods 2.3.定义Data Templates 2.4.定义Data Sources 2.5.定义Graph Templates 2.6.设置Graph Management 3.总结 1.引语 在上一博文中大致介绍了cacti的数据收集方法和模板的使用,还以一个例子介绍了怎样导入一个主机模板,并让此模板应用到一个指定的Devices上.此次博文在上一次博文的基础上介绍以

Nmap脚本引擎原理

Nmap脚本引擎原理 一.NSE介绍 虽然Nmap内嵌的服务于版本探测已足够强大,但是在某些情况下我们需要多伦次的交互才能够探测到服务器的信息,这时候就需要自己编写NSE插件实现这个功能.NSE插件能够完成网络发现.复杂版本探测.脆弱性探测.简单漏洞利用等功能. 转载请注明出处:http://www.cnblogs.com/liun1994/ 在文章   "Nmap脚本文件分析(AMQP协议为例)"   中会将版本探测,NSE脚本原理联系起来,具体分析Nmap探测的执行过程. 在文章 

OGG维护优化脚本(二十四)-OGG状态监控系统--后台脚本

这个简易监控系统具体是由html实现的 后台没有数据库,只有从各台机器收集并上传过来的html文件 通过定时shell脚本整理并分类到各个目录,然后通过apache被网页调用 具体更新频率取决于各数据同步服务器的定时任务运行频率 OGG进程状态整理脚本 这个脚本用于整理进程信息上传脚本 收集到的文件,将其合并为html文件 pcsindex.sh #!/bin/bash cd /root/gg/ggscript/pcsindex ls -lrt /root/gg/gginfo/*.gginfo|

利用Python脚本获取Windows和Linux的系统版本信息

查看系统版本信息是一件家常便饭的事情,有时候需要将版本信息录入到资产管理系统中,如果每次手动的去查询这些信息再录入系统那么是一件令人呢头疼的事情,如果采用脚本去完成这件事情,那么情况就有所不同了. 在Python的世界里,获取Windows版本信息和Linux的版本信息都可以采用platform模块,但platform模块也不是万能的,有些特殊的信息(比如Windows的内部版本号)这个模块拿不到,那么只能另辟蹊径了. 在Linux系统中,可以简单的认为一切都是文件,那么就算没有现成的命令可用时

11g上如何收集优化器(optimizer)统计信息

注:本文参见MOS(my oracle support)英文文档Document:749227.1 - How to Gather Optimizer Statistics on 11g 本文概述了在Oracle 11g中收集CBO(Cost Based Optimizer)统计信息的推荐方法.     本文适用范围:           Oracle Server – 企业版 – 版本 11.1.0.6 to 11.2.0.3           Oracle Server – 标准版 –版本