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

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

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

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

以下是批处理

@echo offecho 请输入保存位置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 offcscript %oppath%\script\Get_Information.vbs>>"%oppath%\%computername%-%username%.txt"set Keyword1=Microsoft (R) Windows Script Host Version 5.8set Keyword2=版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。findstr /v /c:"%Keyword1%" %oppath%\%computername%-%username%.txt>%oppath%\%computername%-%username%.tempmove /y %oppath%\%computername%-%username%.temp %oppath%\%computername%-%username%.txtfindstr /v /c:"%Keyword2%" %oppath%\%computername%-%username%.txt>%oppath%\%computername%-%username%.tempmove /y %oppath%\%computername%-%username%.temp %oppath%\%computername%-%username%.txtsysteminfo >>"%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.ManufacturerWscript.Echo "--------------------------"Wscript.Echo     Wscript.Echo "*序列号"      Wscript.Echo objItem.SerialNumberNext        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    NextNext        Wscript.Echo "--------------------------"nicnum=1Set 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.NameNext        Wscript.Echo "--------------------------"On Error Resume Next dim MemorySet 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 IfNext        Wscript.Echo "--------------------------"