閒來無事,想把公司域內的計算機統計一些亂七八糟的信息出來.可是我比較懶,沒有把我公司環境的內容修改爲你們均可以用的,僅僅放在這裏給你們一個思路.我對代碼確實是不太懂的,作的東西也都是東拼西湊只爲知足需求就能夠,代碼漂亮度就不糾結了.bash
說明一下,上面的是BAT批處理,下面的是VBS腳本.由於從WMI拿數據我不知道怎麼在批處理裏面作.在批處理前面一段是用來拿批處理能拿到的信息,中間調用了VBS來拿WMI裏面的數據.而後在批處理結尾把導出的TXT文本調整一下.服務器
注意:這只是我隨手的分享我本身的環境下能用的東西,其餘地方並不必定能用,只是給你們一個思路.請有必定代碼能力的人修改後再用到本身的環境.我並不對這段代碼負責.ide
另外有寫批處理,VBS或POWERSHELL厲害的能教教我嗎...orm
如下是批處理ip
@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 "--------------------------"