Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $data = & dism /online /get-drivers /format:table | Select-Object -Skip 12
- $HashTable = $data | Select-Object -Skip 2 | ConvertFrom-Csv -Delimiter '|' -Header OEM,FileName,Input,Class,Vendor,Date,Version
- Write-Host "All installed third-party drivers" -ForegroundColor Yellow
- $HashTable | Sort-Object Class | Format-Table
- Write-Host "Different versions" -ForegroundColor Yellow
- $last = ''
- $NotUnique = @()
- foreach ( $Dr in $($HashTable | Sort-Object Filename) ) {
- if ($Dr.FileName -eq $last ) { $NotUnique += $Dr }
- $last = $Dr.FileName
- }
- $NotUnique | Sort-Object FileName | Format-Table
- $list = $NotUnique | Select-Object -ExpandProperty FileName -Unique
- $ToDel = @()
- foreach ( $Dr in $list ) {
- Write-Host "Duplicate found" -ForegroundColor Yellow
- $sel = $HashTable | Where-Object { $_.FileName -eq $Dr } | Sort-Object date -Descending | Select-Object -Skip 1
- $sel | Format-Table
- $ToDel += $sel
- }
- Write-Host "Drivers to remove" -ForegroundColor Yellow
- $ToDel | Format-Table
- foreach ( $item in $ToDel ) {
- $Name = $($item.OEM).Trim()
- & pnputil.exe -d "$Name"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement