DOS批处理命令,自动获取本机系统及硬件配置信息

可以配合域策略自动下发执行, 批量收集域内电脑配置;

手动执行亦可; 如下保存成.bat批处理文件执行即可.

/*&cls&echo off&cd /d "%~dp0"
rem  功能: 获取本机系统及硬件配置信息
rem  日期:2022.08.10
rem  制作人:zl

set #=获取本机系统及硬件配置信息
set _=百川盈孚
set $=技术部
set z=Tel:59795659
(hostname)>>%temp%\temp.txt
set /p h=<%temp%\temp.txt
del /f /q %temp%\temp.txt
title %#% + %_%%$% + %z%
set y=%date:~0,4%%date:~5,2%%date:~8,2%
type "%~f0"|cscript -nologo -e:jscript "%~f0">"%tmp%\v.v"
cscript -nologo -e:vbscript "%tmp%\v.v" 2>%h%_%y%_info.log


echo .
echo ..

echo /-----------------------------------------------\
echo  请查看当前目录下的 %h%_%y%_info.log  
echo \-----------------------------------------------/

echo ..
echo .
pause
rem start %h%_%y%_info.log
exit
*/
var text=WSH.StdIn.ReadAll();
var vbs=text.match(/\/\*\r\n([\s\S]+)\*\/\s*$/);
WSH.echo(vbs[1]);
/*

On Error Resume Next
Set fso=CreateObject("Scripting.Filesystemobject")
Set ws=CreateObject("WScript.Shell")
Set wmi=GetObject("winmgmts:\\.\root\cimv2")

WSH.echo "  系统信息收集中, 请稍等..."
WSH.echo "============================="

WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============系统信息============"
Set query=wmi.ExecQuery("Select * from Win32_ComputerSystem")
For each item in query
    WSH.StdErr.WriteLine "当前用户="& item.UserName
    WSH.StdErr.WriteLine "工作组=" & item.Workgroup
    WSH.StdErr.WriteLine "域=" & item.Domain
    WSH.StdErr.WriteLine "计算机名=" & item.Name
    WSH.StdErr.WriteLine "系统类型=" & item.SystemType
Next
    
Set query=wmi.ExecQuery("Select * from Win32_OperatingSystem")
For each item in query
    WSH.StdErr.WriteLine "系统=" & item.Caption & "[" & item.Version & "]"
    WSH.StdErr.WriteLine "初始安装日期=" & item.InstallDate
    visiblemem=item.TotalVisibleMemorySize
    virtualmem=item.TotalVirtualMemorySize
Next
    
WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============主板BIOS============"
Set query=wmi.ExecQuery("Select * from Win32_ComputerSystemProduct")
For each item in query
    WSH.StdErr.WriteLine "制造商=" & item.Vendor
    WSH.StdErr.WriteLine "型号=" & item.Name
Next
   
Set query=wmi.ExecQuery("Select * from Win32_BIOS")
For each item in query
    WSH.StdErr.WriteLine "名称=" & item.Name
    WSH.StdErr.WriteLine "bios制造商=" & item.Manufacturer
    WSH.StdErr.WriteLine "发布日期=" & item.ReleaseDate
    WSH.StdErr.WriteLine "版本=" & item.SMBIOSBIOSVersion
Next
    
WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============CPU信息============"
Set query=wmi.ExecQuery("Select * from WIN32_PROCESSOR")
For each item in query
    WSH.StdErr.WriteLine "序号=" & item.DeviceID
    WSH.StdErr.WriteLine "名称=" & item.Name
    WSH.StdErr.WriteLine "核心=" & item.NumberOfCores
    WSH.StdErr.WriteLine "线程=" & item.NumberOfLogicalProcessors
Next
    
WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============内存============"
WSH.StdErr.WriteLine "总物理内存=" & FormatNumber(visiblemem/1048576,2,True) & " GB"
WSH.StdErr.WriteLine "总虚拟内存=" & FormatNumber(virtualmem/1048576,2,True) & " GB"
Set query=wmi.ExecQuery("Select * from Win32_PhysicalMemory")
For each item in query
    WSH.StdErr.WriteLine "序号=" & item.Tag
    WSH.StdErr.WriteLine "容量=" & FormatSize(item.Capacity)
    WSH.StdErr.WriteLine "主频=" & item.Speed
    WSH.StdErr.WriteLine "制造商=" & item.Manufacturer
Next
    
WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============物理硬盘============"
Set query=wmi.ExecQuery("Select * from Win32_DiskDrive")
For each item in query
    WSH.StdErr.WriteLine "名称=" & item.Caption
    WSH.StdErr.WriteLine "接口=" & item.InterfaceType
    WSH.StdErr.WriteLine "容量=" & FormatSize(item.Size)
    WSH.StdErr.WriteLine "分区数=" & item.Partitions
    WSH.StdErr.WriteLine '\n'
Next
    
WSH.StdErr.WriteLine "============硬盘逻辑分区============"
Set query=wmi.ExecQuery("Select * from Win32_LogicalDisk Where DriveType=3 or DriveType=2")
For each item in query
    WSH.StdErr.WriteLine item.Caption & Chr(9) & item.FileSystem & Chr(9) & FormatSize(item.Size) & Chr(9) & FormatSize(item.FreeSpace)
Next
    
WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============网卡============"
Set query=wmi.ExecQuery("Select * from Win32_NetworkAdapter Where NetConnectionID !=null and not Name like '%Virtual%'")
For each item in query
    WSH.StdErr.WriteLine "名称=" & item.Name
    WSH.StdErr.WriteLine "连接名=" & item.NetConnectionID
    WSH.StdErr.WriteLine "MAC=" & item.MACAddress
    Set query2=wmi.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where Index=" & item.Index)
    For each item2 in query2
        If typeName(item2.IPAddress) <> "Null" Then
            WSH.StdErr.WriteLine "IP=" & item2.IPAddress(0)
        End If
    Next
    WSH.StdErr.WriteLine '\n'
Next
    
WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============显卡============"
Set query=wmi.ExecQuery("Select * from Win32_VideoController")
For each item in query
    WSH.StdErr.WriteLine "名称=" & item.Name
    WSH.StdErr.WriteLine "显存=" & FormatSize(Abs(item.AdapterRAM))
    WSH.StdErr.WriteLine "当前刷新率=" & item.CurrentRefreshRate
    WSH.StdErr.WriteLine "水平分辨率=" & item.CurrentHorizontalResolution
    WSH.StdErr.WriteLine "垂直分辨率=" & item.CurrentVerticalResolution
    WSH.StdErr.WriteLine '\n'
Next
    
WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============声卡============"
Set query=wmi.ExecQuery("Select * from WIN32_SoundDevice")
For each item in query
    WSH.StdErr.WriteLine item.Name
Next
    
WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============打印机============"
Set query=wmi.ExecQuery("Select * from Win32_Printer")
For each item in query
    If item.Default =True Then
        WSH.StdErr.WriteLine item.Name & "(默认)"
    Else
        WSH.StdErr.WriteLine item.Name
    End If
Next

WSH.echo "  电脑信息已经收集完成!"
WSH.echo "============================"
WSH.Quit

Function FormatSize(byVal t)
    If t >= 1099511627776 Then
        FormatSize = FormatNumber(t/1099511627776, 2, true) & " TB"
    ElseIf t >= 1073741824 Then
        FormatSize = FormatNumber(t/1073741824, 2, true) & " GB"
    ElseIf t >= 1048576 Then
        FormatSize = FormatNumber(t/1048576, 2, true) & " MB"
    ElseIf t >= 1024 Then
        FormatSize = FormatNumber(t/1024, 2, true) & " KB"
    Else
        FormatSize = t & " B"    
    End If
End Function

*/

 

posted @ 2022-08-26 16:55  天海沙  阅读(867)  评论(0)    收藏  举报