private/get-SystemDrivers.ps1
|
function get-SystemDrivers { param ( [parameter(Mandatory=$false)][int]$MaxItems = 100 ) if ($IsLinux -or $IsMacOS) { $drvNames = lsmod | tail -n +2 | awk '{print $1}' | Sort-Object | Select-Object -First $MaxItems foreach ($drv in $drvNames) { $ver = $null; $v1 = $null; $v2 = $null $ver = modinfo $drv | grep 'version' | awk '{print $2}' if ($ver.Count -gt 1) { $v1 = $ver[0] $v2 = $ver[1] } else { $v1 = $ver[0] $v2 = $null } [pscustomobject]@{ Name = $drv Version = $v1 SrcVersion = $v2 } } } else { Get-CimInstance -ClassName Win32_PnPSignedDriver | Select-Object -First $MaxItems DeviceID,DriverVersion,Manufacturer,Description } } |