本文目录导读:

我来为您提供几个不同操作系统下检测硬件驱动版本的脚本方案。
Windows 系统
PowerShell 脚本
# 检测显卡驱动
Write-Host "=== 显卡驱动信息 ===" -ForegroundColor Green
Get-WmiObject Win32_VideoController | Select-Object Name, DriverVersion, DriverDate
# 检测网卡驱动
Write-Host "`n=== 网卡驱动信息 ===" -ForegroundColor Green
Get-WmiObject Win32_NetworkAdapter | Where-Object {$_.Manufacturer -ne "Microsoft"} |
Select-Object Name, DriverVersion, DriverDate, DeviceID
# 检测声卡驱动
Write-Host "`n=== 声卡驱动信息 ===" -ForegroundColor Green
Get-WmiObject Win32_SoundDevice | Select-Object Name, DriverVersion, DriverDate
# 检测所有设备驱动版本
Write-Host "`n=== 所有硬件驱动 ===" -ForegroundColor Green
Get-WmiObject Win32_PnPSignedDriver | Where-Object {$_.DeviceName -ne $null} |
Select-Object DeviceName, DriverVersion, DriverDate, Manufacturer |
Sort-Object DeviceName
# 输出到文件
$output = @()
$drivers = Get-WmiObject Win32_PnPSignedDriver | Where-Object {$_.DeviceName -ne $null}
foreach ($driver in $drivers) {
$output += [PSCustomObject]@{
DeviceName = $driver.DeviceName
DriverVersion = $driver.DriverVersion
DriverDate = $driver.DriverDate
Manufacturer = $driver.Manufacturer
}
}
$output | Export-Csv -Path "driver_report.csv" -NoTypeInformation -Encoding UTF8
VBScript 脚本
' 获取硬件驱动版本
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colDrivers = objWMIService.ExecQuery("SELECT * FROM Win32_PnPSignedDriver")
' 创建输出文件
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile("driver_info.txt", True)
objFile.WriteLine "=== 硬件驱动信息报告 ==="
objFile.WriteLine "生成时间: " & Now()
objFile.WriteLine "========================"
objFile.WriteLine ""
For Each objDriver in colDrivers
If Not IsNull(objDriver.DeviceName) Then
objFile.WriteLine "设备名称: " & objDriver.DeviceName
objFile.WriteLine "驱动版本: " & objDriver.DriverVersion
objFile.WriteLine "驱动程序日期: " & objDriver.DriverDate
objFile.WriteLine "提供商: " & objDriver.Manufacturer
objFile.WriteLine "硬件ID: " & objDriver.HardwareID
objFile.WriteLine "----------------------------------------"
End If
Next
objFile.Close
WScript.Echo "驱动信息已保存到 driver_info.txt"
Linux 系统
Bash 脚本
#!/bin/bash
echo "=== 硬件驱动版本检测 ==="
echo "生成时间: $(date)"
echo "========================"
# 检测内核模块版本
echo -e "\n=== 内核模块 ==="
lsmod | while read -r line; do
module_name=$(echo $line | awk '{print $1}')
if [ -n "$module_name" ] && [ "$module_name" != "Module" ]; then
mod_version=$(modinfo -F version $module_name 2>/dev/null)
if [ -n "$mod_version" ]; then
echo "模块: $module_name, 版本: $mod_version"
fi
fi
done
# 检测显卡驱动
echo -e "\n=== 显卡驱动 ==="
if command -v nvidia-smi &> /dev/null; then
echo "NVIDIA 驱动版本:"
nvidia-smi --query-gpu=driver_version --format=csv,noheader
fi
if lspci | grep -i "VGA" | grep -qi "AMD"; then
echo "AMD 显卡驱动:"
modinfo amdgpu 2>/dev/null | grep "^version:" || echo "未加载 AMD 驱动"
fi
# 检测网卡驱动
echo -e "\n=== 网卡驱动 ==="
for iface in /sys/class/net/*; do
iface_name=$(basename $iface)
if [ "$iface_name" != "lo" ]; then
driver=$(readlink -f $iface/device/driver 2>/dev/null)
if [ -n "$driver" ]; then
echo "接口: $iface_name, 驱动: $(basename $driver)"
fi
fi
done
# 检测声音驱动
echo -e "\n=== 声音驱动 ==="
aplay -l 2>/dev/null || echo "请安装 alsa-utils"
# 输出到文件
{
echo "=== 硬件驱动信息报告 ==="
echo "生成时间: $(date)"
echo "========================"
echo -e "\n=== 系统信息 ==="
uname -a
echo -e "\n=== 加载的驱动模块 ==="
dmesg | grep -i "driver" | tail -20
echo -e "\n=== 所有设备驱动 ==="
lspci -k
echo -e "\n=== USB设备驱动 ==="
lsusb -t
} > driver_report.txt
echo -e "\n报告已保存到 driver_report.txt"
macOS 系统
#!/bin/bash
echo "=== macOS 硬件驱动版本 ==="
# 系统扩展(驱动)
echo -e "\n=== 系统扩展 ==="
systemextensionsctl list
# 检测显卡驱动
echo -e "\n=== 显卡信息 ==="
system_profiler SPDisplaysDataType | grep -E "Chipset|VRAM|Vendor|Driver"
# 检测内核扩展
echo -e "\n=== 内核扩展 ==="
kextstat | grep -v "com.apple" | while read -r line; do
driver_name=$(echo $line | awk '{print $6}')
driver_version=$(echo $line | awk '{print $1}' | cut -d'(' -f2 | cut -d')' -f1)
echo "驱动: $driver_name, 版本: $driver_version"
done
# 检测网络驱动
echo -e "\n=== 网络接口驱动 ==="
networksetup -listallhardwareports
# 输出到文件
{
echo "=== macOS 驱动信息报告 ==="
echo "生成时间: $(date)"
echo "========================"
echo -e "\n系统版本:"
sw_vers
echo -e "\n所有驱动信息:"
system_profiler SPExtensionsDataType
echo -e "\n显卡驱动:"
system_profiler SPDisplaysDataType
} > mac_driver_report.txt
echo -e "\n报告已保存到 mac_driver_report.txt"
使用说明
-
Windows PowerShell 脚本:
- 以管理员身份运行 PowerShell
- 直接复制脚本执行
- 会自动生成 CSV 报告文件
-
Linux Bash 脚本:
chmod +x check_drivers.sh sudo ./check_drivers.sh
-
macOS 脚本:
chmod +x check_mac_drivers.sh ./check_mac_drivers.sh
这些脚本会根据操作系统自动检测并报告主要的硬件驱动版本信息,方便您进行驱动版本管理和更新。