@echo offsetlocal EnableExtensionschcp 65001 >nultitle 火狐狸硬件信息检测工具color 0Aclsecho ================================================================echo 火狐狸硬件信息检测工具 V2.1echo ================================================================echo.echo [电脑信息]powershell -NoProfile -Command "$cs=Get-CimInstance Win32_ComputerSystem; Write-Host ('电脑名称 : ' + $env:COMPUTERNAME); Write-Host ('厂商 : ' + $cs.Manufacturer); Write-Host ('型号 : ' + $cs.Model); Write-Host ('总内存 : ' + [math]::Round($cs.TotalPhysicalMemory/1GB,2) + ' GB')"echo.echo ----------------------------------------------------------------echo [操作系统]powershell -NoProfile -Command "$os=Get-CimInstance Win32_OperatingSystem; $up=(Get-Date)-$os.LastBootUpTime; Write-Host ('系统 : ' + $os.Caption); Write-Host ('版本 : ' + $os.Version); Write-Host ('架构 : ' + $os.OSArchitecture); Write-Host ('启动时间 : ' + $os.LastBootUpTime); Write-Host ('运行时间 : ' + $up.Days + ' 天 ' + $up.Hours + ' 小时 ' + $up.Minutes + ' 分钟')"echo.echo ----------------------------------------------------------------echo [CPU]powershell -NoProfile -Command "$cpu=Get-CimInstance Win32_Processor; foreach($c in $cpu){Write-Host ('型号 : ' + $c.Name.Trim()); Write-Host ('核心数 : ' + $c.NumberOfCores); Write-Host ('线程数 : ' + $c.NumberOfLogicalProcessors); Write-Host ('最大频率 : ' + $c.MaxClockSpeed + ' MHz'); Write-Host ('当前负载 : ' + $c.LoadPercentage + ' %%'); Write-Host ''}"echo.echo ----------------------------------------------------------------echo [主板]powershell -NoProfile -Command "$b=Get-CimInstance Win32_BaseBoard | Select-Object -First 1; Write-Host ('厂商 : ' + $b.Manufacturer); Write-Host ('型号 : ' + $b.Product); Write-Host ('版本 : ' + $b.Version); Write-Host ('序列号 : ' + $b.SerialNumber)"echo.echo ----------------------------------------------------------------echo [BIOS]powershell -NoProfile -Command "$b=Get-CimInstance Win32_BIOS | Select-Object -First 1; Write-Host ('厂商 : ' + $b.Manufacturer); Write-Host ('版本 : ' + $b.SMBIOSBIOSVersion); Write-Host ('发布日期 : ' + $b.ReleaseDate); Write-Host ('序列号 : ' + $b.SerialNumber)"echo.echo ----------------------------------------------------------------echo [内存]powershell -NoProfile -Command "$i=1; $mem=Get-CimInstance Win32_PhysicalMemory; foreach($m in $mem){Write-Host ('内存 ' + $i); Write-Host (' 厂商 : ' + $m.Manufacturer); Write-Host (' 型号 : ' + $m.PartNumber.Trim()); Write-Host (' 容量 : ' + [math]::Round($m.Capacity/1GB,2) + ' GB'); Write-Host (' 频率 : ' + $m.Speed + ' MHz'); Write-Host (' 插槽 : ' + $m.DeviceLocator); Write-Host ''; $i++}; $total=[math]::Round(($mem | Measure-Object Capacity -Sum).Sum/1GB,2); Write-Host ('总容量 : ' + $total + ' GB')"echo.echo ----------------------------------------------------------------echo [显卡]powershell -NoProfile -Command "$i=1; $gpus=Get-CimInstance Win32_VideoController; foreach($g in $gpus){Write-Host ('显卡 ' + $i); Write-Host (' 型号 : ' + $g.Name); Write-Host (' 驱动版本 : ' + $g.DriverVersion); if($g.CurrentHorizontalResolution){Write-Host (' 当前分辨率: ' + $g.CurrentHorizontalResolution + ' x ' + $g.CurrentVerticalResolution)}; Write-Host ''; $i++}"echo.echo ----------------------------------------------------------------echo [显示器]powershell -NoProfile -Command "$mon=Get-CimInstance -Namespace root\wmi -ClassName WmiMonitorID -ErrorAction SilentlyContinue; if($mon){$i=1; foreach($m in $mon){$man='未知'; $name='未知型号'; $serial='未知'; if($null -ne $m.ManufacturerName -and $m.ManufacturerName.Count -gt 0){$man=([Text.Encoding]::ASCII.GetString([byte[]]$m.ManufacturerName)).Trim([char]0)}; if($null -ne $m.UserFriendlyName -and $m.UserFriendlyName.Count -gt 0){$tmp=([Text.Encoding]::ASCII.GetString([byte[]]$m.UserFriendlyName)).Trim([char]0); if(-not [string]::IsNullOrWhiteSpace($tmp)){$name=$tmp}}; if($null -ne $m.SerialNumberID -and $m.SerialNumberID.Count -gt 0){$tmp=([Text.Encoding]::ASCII.GetString([byte[]]$m.SerialNumberID)).Trim([char]0); if(-not [string]::IsNullOrWhiteSpace($tmp)){$serial=$tmp}}; Write-Host ('显示器 ' + $i); Write-Host (' 厂商 : ' + $man); Write-Host (' 型号 : ' + $name); Write-Host (' 序列号 : ' + $serial); Write-Host ''; $i++}} else {Write-Host '未获取到显示器 EDID 信息'}"echo.echo ----------------------------------------------------------------echo [声卡]powershell -NoProfile -Command "$i=1; $sounds=Get-CimInstance Win32_SoundDevice; foreach($s in $sounds){Write-Host ('声卡 ' + $i); Write-Host (' 名称 : ' + $s.Name); Write-Host (' 厂商 : ' + $s.Manufacturer); Write-Host (' 状态 : ' + $s.Status); Write-Host ''; $i++}"echo.echo ----------------------------------------------------------------echo [物理硬盘]powershell -NoProfile -Command "$i=1; $disks=Get-CimInstance Win32_DiskDrive; foreach($d in $disks){Write-Host ('硬盘 ' + $i); Write-Host (' 型号 : ' + $d.Model); Write-Host (' 容量 : ' + [math]::Round($d.Size/1GB,2) + ' GB'); Write-Host (' 接口 : ' + $d.InterfaceType); Write-Host (' 序列号 : ' + $d.SerialNumber); Write-Host (' 状态 : ' + $d.Status); Write-Host ''; $i++}"echo.echo ----------------------------------------------------------------echo [硬盘健康状态]powershell -NoProfile -Command "$d=Get-PhysicalDisk -ErrorAction SilentlyContinue; if($d){foreach($x in $d){Write-Host ('硬盘 : ' + $x.FriendlyName); Write-Host ('介质类型 : ' + $x.MediaType); Write-Host ('总线类型 : ' + $x.BusType); Write-Host ('健康状态 : ' + $x.HealthStatus); Write-Host ''}} else {Write-Host '当前系统未返回 PhysicalDisk 信息'}"echo.echo ----------------------------------------------------------------echo [磁盘分区]powershell -NoProfile -Command "$list=Get-CimInstance Win32_LogicalDisk -Filter 'DriveType=3'; foreach($d in $list){$total=[math]::Round($d.Size/1GB,2); $free=[math]::Round($d.FreeSpace/1GB,2); $used=[math]::Round(($d.Size-$d.FreeSpace)/1GB,2); Write-Host ($d.DeviceID + ' 总容量: ' + $total + ' GB 已用: ' + $used + ' GB 可用: ' + $free + ' GB')}"echo.echo ----------------------------------------------------------------echo [网卡]powershell -NoProfile -Command "$nets=Get-CimInstance Win32_NetworkAdapter | Where-Object {$_.PhysicalAdapter -eq $true}; $i=1; foreach($n in $nets){Write-Host ('网卡 ' + $i); Write-Host (' 名称 : ' + $n.Name); Write-Host (' MAC : ' + $n.MACAddress); if($n.Speed){Write-Host (' 速率 : ' + [math]::Round($n.Speed/1MB,0) + ' Mbps')}; Write-Host ''; $i++}"echo.echo ----------------------------------------------------------------echo [IP 地址]powershell -NoProfile -Command "$nets=Get-CimInstance Win32_NetworkAdapterConfiguration | Where-Object {$_.IPEnabled -eq $true}; foreach($n in $nets){Write-Host ('网卡 : ' + $n.Description); Write-Host ('MAC : ' + $n.MACAddress); Write-Host ('IP : ' + (($n.IPAddress | Where-Object {$_ -notmatch ':'}) -join ', ')); Write-Host ('网关 : ' + ($n.DefaultIPGateway -join ', ')); Write-Host ''}"echo.echo ----------------------------------------------------------------echo [当前资源使用]powershell -NoProfile -Command "$cpu=(Get-CimInstance Win32_Processor | Measure-Object LoadPercentage -Average).Average; $os=Get-CimInstance Win32_OperatingSystem; $used=[math]::Round((1-$os.FreePhysicalMemory/$os.TotalVisibleMemorySize)*100,1); Write-Host ('CPU 使用率 : ' + $cpu + ' %%'); Write-Host ('内存使用率 : ' + $used + ' %%')"echo.echo.echo ================================================================echo 硬件信息汇总echo ================================================================echo.powershell -NoProfile -Command "$cs=Get-CimInstance Win32_ComputerSystem; $os=Get-CimInstance Win32_OperatingSystem; $cpu=Get-CimInstance Win32_Processor | Select-Object -First 1; $board=Get-CimInstance Win32_BaseBoard | Select-Object -First 1; $bios=Get-CimInstance Win32_BIOS | Select-Object -First 1; $mem=Get-CimInstance Win32_PhysicalMemory; $gpu=Get-CimInstance Win32_VideoController; $sound=Get-CimInstance Win32_SoundDevice; $disk=Get-CimInstance Win32_DiskDrive; $net=Get-CimInstance Win32_NetworkAdapter | Where-Object {$_.PhysicalAdapter -eq $true -and $_.Name -notmatch 'Bluetooth'}; $up=(Get-Date)-$os.LastBootUpTime; Write-Host ('电脑型号 : ' + $cs.Manufacturer + ' ' + $cs.Model); Write-Host ('系统信息 : ' + $os.Caption + ' / ' + $os.OSArchitecture + ' / ' + $os.Version); Write-Host ('运行时间 : ' + $up.Days + ' 天 ' + $up.Hours + ' 小时 ' + $up.Minutes + ' 分钟'); Write-Host ('处理器 : ' + $cpu.Name.Trim() + ' / ' + $cpu.NumberOfCores + '核 ' + $cpu.NumberOfLogicalProcessors + '线程'); Write-Host ('主板 : ' + $board.Manufacturer + ' ' + $board.Product); Write-Host ('BIOS : ' + $bios.SMBIOSBIOSVersion); $totalMem=[math]::Round(($mem | Measure-Object Capacity -Sum).Sum/1GB,0); $speeds=($mem | Select-Object -ExpandProperty Speed | Sort-Object -Unique) -join '/'; Write-Host ('内存 : ' + $totalMem + ' GB / ' + $mem.Count + ' 条 / ' + $speeds + ' MHz'); Write-Host ('显卡 : ' + (($gpu | Select-Object -ExpandProperty Name) -join ' / ')); $mons=Get-CimInstance -Namespace root\wmi -ClassName WmiMonitorID -ErrorAction SilentlyContinue; $names=@(); if($mons){foreach($m in $mons){if($null -ne $m.UserFriendlyName -and $m.UserFriendlyName.Count -gt 0){$x=([Text.Encoding]::ASCII.GetString([byte[]]$m.UserFriendlyName)).Trim([char]0); if(-not [string]::IsNullOrWhiteSpace($x)){$names+=$x}}}}; if($names.Count -gt 0){Write-Host ('显示器 : ' + ($names -join ' / '))}else{Write-Host '显示器 : 未获取到具体型号'}; Write-Host ('声卡 : ' + (($sound | Select-Object -ExpandProperty Name) -join ' / ')); Write-Host ('硬盘 : ' + (($disk | ForEach-Object {$_.Model + ' ' + [math]::Round($_.Size/1GB,0) + 'GB'}) -join ' / ')); Write-Host ('网卡 : ' + (($net | Select-Object -ExpandProperty Name) -join ' / ')); $ips=Get-CimInstance Win32_NetworkAdapterConfiguration | Where-Object {$_.IPEnabled -eq $true} | ForEach-Object {$_.IPAddress | Where-Object {$_ -notmatch ':'}}; Write-Host ('IPv4 : ' + ($ips -join ' / '))"echo.echo ================================================================echo 检测全部完成echo ================================================================echo.pauseendlocal