Skapa en inventering av installerade drivrutinspaket

Den här artikeln visar hur du skapar en inventering av installerade drivrutinspaket från tredje part och identifierar onödiga drivrutiner som kan öka säkerhetsriskerna. Du lär dig hur du använder PnPUtil och PowerShell för att granska systemet och ta bort oönskade drivrutinspaket.

Varför minska onödiga drivrutinspaket?

Varför minska drivrutinsfotavtrycket? Varje onödig drivrutin i systemet:

  • Utgör potentiella säkerhetsrisker.
  • Förbrukar minne och systemresurser.
  • Kan orsaka systemkrascher.

Genom att endast behålla nödvändiga drivrutiner förbättrar du både säkerhet och stabilitet.

När du utvärderar säkerhetsriskerna för drivrutinen bör du överväga alla drivrutinspaket som finns i systemet, oavsett om de är installerade på enheter eller inte. Att veta vilka drivrutinspaket som finns (och vilka som finns från tredje part jämfört med Microsoft) kan hjälpa dig att identifiera oönskade eller inaktuella drivrutinspaket som kan utgöra säkerhetsrisker.

En metod är att skapa en första rapport över installerade drivrutinspaket i ett nytt system och sedan köra rapporten igen med jämna mellanrum för att leta efter oväntade drivrutinspaket.

Inventering av installerade drivrutinspaket – PnPUtil

PnPUtil är inbyggt i Windows och är det rekommenderade verktyget för att hantera drivrutinspaket. Inga ytterligare nedladdningar krävs.

Nästa steg: Lär dig de grundläggande kommandona i följande avsnitt eller visa avancerade PnPUtil-exempel.

PnPUtil /enum-drivers

Använd enum-drivers för att lista drivrutinspaket från tredje part i drivrutinsarkivet.

pnputil /enum-drivers

Använd /files för att visa alla drivrutinspaket från tredje part och visa de associerade drivrutinsfilerna.

pnputil /enum-drivers /files

Exportera rapporter över drivrutinsinventering med PnPUtil

Använd alternativen /format och /output-file för att skapa rapporter om avtrycket av din installerade drivrutin. Använd de här alternativen för att skriptera insamlingen av drivrutinspaketen på systemet. Använd inte skript för att bearbeta standardutdata eller alternativet text/format eftersom utdata kan ändras och lokaliseras. Utdata skiljer sig beroende på vilket språk som är installerat på systemet.

/format – formatera utdata som text, XML eller CSV. /output-file [<filename>] – skriva utdata till valfritt filnamn.

Det här exempelkommandot använder verktyget PnPUtil för att räkna upp alla drivrutinspaket från tredje part som för närvarande finns i systemet. Den innehåller information om de associerade drivrutinsfilerna och returnerar resultatet i CSV-format (Comma-Separated Värden). Utdata sparas i en fil med namnet MyDriverFileInventory.CSV.

pnputil /enum-drivers /files /format CSV /output-file MyDriverFileInventory.CSV

Använda PowerShell-skript för att hämta ytterligare information

Använd dessa PowerShell-skript för att hitta specifika drivrutiner i systemet:

Exempel 1: Hitta oanvända drivrutinspaket

Det här skriptet identifierar OEM-drivrutinspaket som inte är installerade på några enheter (antal enheter = 0).

[xml] $pnputilOutput = pnputil /enum-drivers /devices /format xml
$pnputilOutput.pnputil.driver | where {$_.devices.count -eq 0}

Exempel 2: Hitta drivrutinspaket med specifika filtyper

Det här skriptet hittar alla OEM-drivrutinspaket som innehåller filer i ett visst filnamnstillägg, till exempel .sys.

[xml] $pnputilOutput = pnputil /enum-drivers /devices /files /format xml
$pnputilOutput.pnputil.driver | where {$_.Files.File.Name -like "*.sys"}
$sysDrivers = $pnputilOutput.pnputil.driver | Where-Object {$_.Files.File.Name -like "*.sys"}
Write-Host "Found $($sysDrivers.Count) driver(s) with .sys files.`n"

Windows-avbildningar och virtuella hårddiskar

För Windows-avbildningsfiler (.wim) eller virtuella hårddiskar (.vhd eller .vhdx) använder du först kommandot Deployment Image Servicing and Management utility (DISM)./Mount-Image

Mount-WindowsImage -ImagePath "D:\Images\Windows11.vhdx" -Index 1 -Path "C:\Mount"

Använd sedan kommandoletenGet-WindowsDriver för att visa information. Ange den monteringssökväg som du använde.

Get-WindowsDriver -Path "C:\Mount" 

KommandoletenGet-WindowsDriver kan också visa drivrutiner i den startade Windows-miljön med hjälp av alternativet -Online .

Get-WindowsDriver -Online

Andra drivrutinsverktyg

Andra verktyg är tillgängliga, men de har begränsningar. Använd PnPUtil och kommandoletenGet-WindowsDriver i stället.

Enhetshanterarens GUI innehåller vyer över drivrutinsinformation ordnad efter enhet (Visa ->Drivrutiner efter enhet) eller enheter ordnade efter drivrutinsinformation (Visa ->Enheter per drivrutin). Den här informationen omfattar enhetstyp, enhetsstatus, tillverkare, enhetsspecifika egenskaper och information om drivrutinsfilerna för en specifik enhet. Använd Visa –>Visa dolda enheter för att visa ytterligare information. Mer information finns i Använda Enhetshanteraren.

Verktyget SystemInformation (Msinfo32.exe) innehåller drivrutiner under Programvarumiljö, Systemdrivrutiner. De kolumner som visas kan sorteras, vilket möjliggör gruppering av drivrutinstillstånd eller typ. Mer information finns i Beskrivning av Microsoft System Information (Msinfo32.exe) Tool. Msinfo32 ger inget sätt att lista och parsa drivrutinspaket. Använd PnPUtil i stället.

Även om driverquery det är inbyggt i Windows kan det ge missvisande utdata och rekommenderas inte. Använd den mer kompatibla PnPUtil i stället.

Ta bort drivrutiner med PnPUtil

Ta bort onödiga drivrutiner med hjälp av PnPUtil för att minska säkerhetsriskerna och öka systemets tillförlitlighet. Kontrollera att det inte är nödvändigt för systemdrift innan du tar bort någon drivrutin.

Om du fastställer att en drivrutin kan tas bort på ett säkert sätt använder du PnPUtil för att ta bort den. Använd en icke-kritisk dator för att testa att alla maskinvaru- och programvarufunktioner fungerar korrekt efter att drivrutinen har tagits bort. Använd som alltid säkerhetskopior och upprätta en systemåterställningspunkt.

Leta upp OEM-drivrutinsnamnet, till exempel oem42.inf, och använd följande kommando för att ta bort det:

pnputil /delete-driver oem42.inf /uninstall 

Förklaring av parametrar:

/delete-driver <INF>: Anger vilken drivrutin som ska tas bort.

/uninstall: Avinstallerar drivrutinen från alla enheter som för närvarande använder den.

Viktigt!

Kontrollera att drivrutinen inte är kritisk för systemdriften innan du tar bort den. Att ta bort viktiga drivrutiner kan orsaka systeminstabilitet och dataförlust.

Se även