Ako zobraziť a spravovať ovládače z PowerShellu v systéme Windows

Posledná aktualizácia: 04/12/2025
Autor: Isaac
  • PowerShell Umožňuje vám zoznamovať, filtrovať a exportovať ovládače pomocou cmdletov ako Get-WmiObject a Get-WindowsDriver.
  • driverquery, ten Správca zariadení a SCCM (Get-CMDriver) dopĺňajú inventár ovládača.
  • Niektoré dynamicky načítané ovládače vyžadujú ďalšie nástroje, ako napríklad WinDbg alebo verifier.
  • Moduly ako PSWindowsUpdate a externé nástroje uľahčujú aktualizáciu a udržiavanie ovládačov aktuálnych.

Zoznam ovládačov z PowerShellu

V prostrediach systému Windows, kontrolujte, ktoré ovládače sú nainštalované a akú verziu majú Je kľúčom k udržaniu stability systému, riešeniu problémov s modrými obrazovkami alebo príprave na migrácie. PowerShell sa stal neuveriteľne pohodlným nástrojom na vykonávanie tohto typu inventarizácie bez nutnosti prechádzať Správcu zariadení jeden po druhom.

V nasledujúcich riadkoch uvidíte Ako rôznymi spôsobmi zobraziť zoznam ovládačov z PowerShellu a ako ich exportovať k súborom, aby ich pokojne analyzoval, aké sú rozdiely medzi nimi a ostatnými príkazy ako driverquery alebo grafické nástroje a dokonca aj to, ako zvládnuť pokročilejšie scenáre, ako sú offline obrazy alebo dynamicky načítané ovládače.

Čo je to ovládač a prečo by ste ho mali vypísať z PowerShellu?

Ovládače zariadení v systéme Windows

V systéme Windows je radič alebo ovládač malý blok softvéru, ktorý funguje ako sprostredkovateľ medzi operačným systémom a komponentom technické vybavenie (grafická karta, čipová sada, skladovanieperiférie USBatď.). Hoci kód, ktorý zaberajú, nie je obrovský, ich vplyv na stabilitu systému je gigantický.

Keď kritický vodič (napríklad úložisko, sieť, grafická karta alebo čipová sada) poruchy, môžu spôsobiť havárie, stratu výkonu a dokonca modré obrazovky (BSOD)Preto je mať prehľadný zoznam nainštalovaných ovládačov a ich verzií tak užitočné pri ladení chýb alebo príprave na veľkú aktualizáciu.

Predtým, ako sa ponáhľate so zmenou, odinštalovaním alebo vrátením ovládačov späť, je to dobrý nápad minimalizujte riziká pomocou bodu obnovenia systémuTakto môžete obnoviť nastavenia, ak sa aktualizácia ovládača pokazí a počítač sa začne správať zvláštne alebo sa ani nespustí správne.

Okrem reštaurácie je vhodné zálohujte si dôležité údaje (dokumenty, fotografie, pracovné projekty atď.), najmä ak sa chystáte dotknúť ovládačov úložiska, pretože chyba môže spôsobiť, že systém nepripojí disky správne alebo poškodí informácie.

Základný príkaz v PowerShell na zobrazenie zoznamu nainštalovaných ovládačov

Najpriamejší spôsob, ako získať inventár ovládačov z PowerShellu, je spoliehať sa na WMIJeden z najčastejšie používaných príkazov je:

Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, DriverVersion

S touto rutinou cmdlet, PowerShell dotazuje triedu WMI Win32_PnPSignedDriver a vráti zoznam podpísaných ovládačov PnP spolu s názvom zariadenia a verziou ovládača, ktorú má systém aktuálne priradenú.

Ak chcete získať viac kontextu o každom ovládači, môžete pridať polia ako napríklad priateľský názov, dátum vydania alebo výrobca, Napríklad:

Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, FriendlyName, Manufacturer, DriverVersion, DriverDate

Vďaka tejto konzultácii získate Oveľa úplnejšie informácie pre každý záznamTo vám umožňuje zistiť staršie verzie, konkrétnych výrobcov alebo ovládače, ktoré neboli aktualizované celé roky.

Ako exportovať zoznam ovládačov do súboru (TXT alebo CSV)

V reálnom svete len zriedka stačí zobraziť zoznam na obrazovke. Najpohodlnejší prístup je... uložiť výsledok do súboru analyzovať ho v Exceli, zdieľať ho s tímom alebo si ho uchovať ako snímku stavu systému pred vykonaním akýchkoľvek zmien, napríklad pred odstrániť staré ovládače.

Ak potrebujete iba rýchly výpis v obyčajnom texte, môžete výstup presmerovať do súboru:

Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, DriverVersion > C:\drivers.txt

Tento príkaz vytvorí súbor C:\drivers.txt s jednoduchým zoznamom zariadení a verzií. Ideálne na rýchlu orientáciu alebo pripojenie k správe bez väčších problémov.

Ak hľadáte niečo lepšie spravovateľné na filtrovanie a triedenie, najlepšou možnosťou je použiť CSV a cmdlet Export-CSVVeľmi častým príkladom by bolo:

Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, FriendlyName, DriverVersion, DriverDate | Export-CSV -Path "./MisDrivers.csv" -NoTypeInformation

Pomocou tohto príkazu sa vytvorí súbor s názvom MojeVodiče.csv ktoré môžete otvoriť v Exceli alebo v akomkoľvek tabuľkovom programe triediť podľa verzie, filtrovať podľa dátumu ovládača, vyhľadávať konkrétnych výrobcov, Atď

Hoci sa niekedy hovorí, že PowerShell „neumožňuje exportovať“ zoznam ovládačov, v skutočnosti Áno, dá sa perfektne exportovať. Pomocou presmerovania výstupu alebo Export-CSV, ako ste práve videli. Potom môžete tieto informácie kopírovať, vkladať alebo s nimi pracovať kdekoľvek chcete.

  25 úžasných nástrojov na extrahovanie zvukových súborov z videí

Filtrovať ovládače podľa výrobcu, názvu alebo konkrétneho textu

Normálne nebudete chcieť vidieť všetky ovládače naraz, ale radšej sa zamerať na konkrétneho výrobcu alebo typ zariadenia. Na to môžete reťazenie filtrov pomocou Where-Object o vlastnostiach každého ovládača.

Napríklad, ak máte záujem ponechať si iba ovládače pre IntelMohli by ste urobiť niečo také jednoduché ako:

Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, DriverVersion | Where-Object { $_.DeviceName -like "*Intel*" }

Tento príkaz iteruje cez všetky položky vrátené službou WMI a Udržiava iba tie, ktorých názov zariadenia obsahuje reťazec „Intel“.Použitie hviezdičky ako zástupného znaku umožňuje vyhľadávať čiastočné zhody kdekoľvek v texte.

Rovnaký postup možno použiť na vyhľadanie ovládačov súvisiacich s konkrétnou aplikáciou alebo typom hardvéru, napríklad pre aktualizovať ovládače USBAk poznáte časť názvu, výrobcu alebo nejaký vzorec trasy, môžete prispôsobte filter najpohodlnejšej nehnuteľnosti v každom prípade.

Zobrazenie ovládačov zo Správcu zariadení a ďalších nástrojov systému Windows

Hoci PowerShell je veľmi výkonný na automatizáciu a export zoznamov, Windows stále ponúka klasické grafické nástroje na správu ovládačov ktoré by mali byť známe a kombinované s cestou príkazu.

Prvým referenčným bodom je Správca zariadeníK tomu sa dostanete kliknutím pravým tlačidlom myši na „Tento počítač“ a výberom možnosti „Spravovať“ alebo rýchlejšie pomocou kontextovej ponuky tlačidla Štart (Windows + X). Zobrazí sa vám strom so všetkými kategóriami hardvéru nainštalovaného v systéme.

Zariadenia, ktoré majú problémy s inštaláciou alebo prevádzkou, sa často zobrazujú s žltá výstražná ikonaAk dvakrát kliknete na ktorýkoľvek z nich, otvorí sa okno vlastností, kde môžete skontrolovať stav zariadenia a získať prístup na kartu „Ovládač“.

V rámci tejto karty nájdete možnosti ako napríklad „Podrobnosti o ovládači“, „Aktualizovať ovládač“, „Vrátiť ovládač späť“, „Zakázať“ alebo „Odinštalovať“Tieto akcie vám umožňujú zobraziť súbory ovládača, vyhľadať nové verzie, vrátiť sa k predchádzajúcej verzii, deaktivovať zariadenie bez jeho odstránenia alebo úplne odstrániť ovládač zo systému.

Okrem týchto nástrojov systém Windows obsahuje aj príkaz driverquery použiť z príkazový riadok (CMD). Beh driverquery Zobrazí sa zoznam všetkých nainštalovaných ovládačov a driverquery /v Zobrazia sa podrobnejšie informácie, ako napríklad využitie pamäte, dátum zostavenia alebo stav.

driverquery a jeho vzťah s PowerShellom

Príkaz driverquery je veľmi flexibilný a umožňuje Zobraziť rôzne pohľady na stav vodičaNapríklad, ak chcete zobraziť podrobnejší zoznam iba podpísaných ovládačov, môžete spustiť:

driverquery /si

Tento režim zobrazuje podpísané vodiče s ďalšími užitočnými informáciami pre bezpečnostné audity alebo kontroly integrity. A vždy sa môžete poradiť driverquery /? zobraziť všetky dostupné parametre a upraviť výstup podľa vašich potrieb.

Jednou z výhod driverquery je, že Môžete ho integrovať s PowerShellom pomocou ConvertFrom-CSVAk vygenerujete výstup vo formáte CSV a prepojíte ho cez kanál, získate objekty, s ktorými je možné manipulovať z PowerShellu. Klasickým príkladom by bolo:

driverquery.exe /v /fo csv | ConvertFrom-CSV | Select-Object "Display Name", "Start Mode", "Paged Pool(bytes)", Path

S týmto kombinujete Sila driverquery s manipuláciou s dátami v PowerShelleVýber iba stĺpcov, ktoré vás zaujímajú: zobrazovaný názov, režim spustenia, stránkovaná pamäť a cesta k ovládaču na disku. Toto je užitočné, keď chcete filtrovať podľa konkrétnych typov, ako napríklad grafické ovládače.

Treba poznamenať, že driverquery aj niektoré štandardné dotazy WMI sa zameriavajú predovšetkým na vodiči registrovaní v systéme, mnohé z nich sa naložili do topánka alebo spravované prostredníctvom registra v priečinku HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. Niektoré ovládače, ktoré sú dynamicky vkladané za behu, sa v týchto zoznamoch nemusia zobraziť.

Zobrazenie ovládačov z PowerShellu pomocou Get-WindowsDriver

Pre pokročilejšie scenáre, najmä pri práci s Offline obrázky systému Windows (napríklad pripojené súbory WIM), cmdlet je veľmi užitočný Get-WindowsDriver, ktorý je súčasťou nástrojov DISM dostupných z prostredia PowerShell.

Táto rutina cmdlet umožňuje zobraziť informácie o balíkoch ovládačov pre spustenú inštaláciu systému Windows aj pre obraz pripojený v priečinku. Hlavná syntax je rozdelená do dvoch hlavných režimov použitia: offline a online.

  Ako krok za krokom odstrániť používané súbory v systéme Windows

Pre offline obrázok pripojený v priečinkuVšeobecný tvar by bol:

Get-WindowsDriver -Path "C:\offline"

A aby ste pracovali proti bežiacemu systému, použili by ste parameter -On-line:

Get-WindowsDriver -Online

Bez ďalších parametrov, Get-WindowsDriver vráti zoznam ovládačov tretích strán prítomný na obrázku. Ak pridáte modifikátor -VšetciV systéme Windows sa tiež zobrazia predvolené ovládače.

Kľúčové parametre Get-WindowsDriver

Jedným z najdôležitejších parametrov je -Řidiččo vám umožňuje špecifikovať konkrétny súbor .inf alebo priečinok so súbormi .inf Ak chcete získať podrobné informácie o týchto ovládačoch. Ak ukážete na priečinok, súbory .inf, ktoré nie sú platnými balíkmi ovládačov, sa automaticky ignorujú.

Keď pracujete s offline obrázkom, parameter -Cesta určuje koreňovú cestu pripojeného obrazu. Ak sa priečinok Windows nenachádza priamo v koreňovom adresári, môžete použiť -Adresár Windows na určenie relatívneho podpriečinka, v ktorom sa nachádza.

Parameter -SystemDrive Používa sa v špecifickejších scenároch, napríklad pri práci z prostredia Windows PE, keď sa správca zavádzania nachádza na inom oddiele. V týchto prípadoch slúži na určenie jednotky obsahujúcej súbory BootMgr, ktoré sa majú spúšťať.

Pokiaľ ide o protokol aktivít, parameter -CestaDenníka Umožňuje vám definovať úplnú cestu k súboru denníka. Ak ju neupravíte, použije sa predvolená cesta. %WINDIR%\Logs\Dism\dism.logalebo v systéme Windows PE, pomocný priestor v pamäti RAM. Medzitým, -ÚroveňLog určuje podrobnosť protokolu s hodnotami od samotných chýb až po informácie o ladení.

Nakoniec, parameter -Scratch Adresár Toto je dočasný priečinok, kam sa extrahujú súbory počas servisných operácií. Musí to byť lokálna cesta a po dokončení operácie sa dočasné súbory Automaticky sa odstraňujú, aby nezanechali žiadne zvyšky.

Praktické príklady s Get-WindowsDriver

Ak chcete rýchlo zobraziť všetky ovládače pre vašu aktuálnu inštaláciu systému Windows, môžete spustiť:

Get-WindowsDriver -Online -All

Tento príkaz sa zobrazí všetky ovládače (systémové aj od tretích strán) prítomný v spustenom obraze. Je to veľmi priamy spôsob, ako zistiť, ktoré balíky sú nainštalované, bez použitia WMI alebo Správcu zariadení.

Ak pracujete s a obraz pripojený do C:\offline A ak chcete skontrolovať iba ovládače tretích strán, môžete urobiť nasledovné:

Get-WindowsDriver -Path "C:\offline"

Ak chcete podrobnú správu o konkrétnom OEM ovládači v danom obraze, jednoducho zadajte súbor .inf:

Get-WindowsDriver -Path "C:\offline" -Driver "OEM1.inf"

Môžete dokonca zacieliť na súbor .inf nachádzajúci sa v ceste k konkrétnemu ovládaču, napríklad:

Get-WindowsDriver -Path "C:\offline" -Driver "C:\drivers\Usb\Usb.inf"

Vo všetkých týchto prípadoch Get-WindowsDriver vracia objekty ktoré môžete presmerovať do Select-Object, Where-Object alebo Export-CSV na filtrovanie, triedenie alebo export informácií do formátu, ktorý vám najviac vyhovuje.

PowerShell a SCCM: Get-CMDriver pre katalógy ovládačov

Keď riadite firemné prostredie s Správca konfigurácie (SCCM)Nezaujímajú vás len ovládače na každom počítači, ale aj centralizovaný katalóg ovládačov, ktorý SCCM udržiava na nasadzovanie obrazov a balíkov.

V tejto súvislosti prichádza na rad cmdlet. Get-CMDriver, To funguje pre Získanie informácií z ovládačov zariadení spravovaných nástrojom Configuration ManagerTáto rutina cmdlet má niekoľko podpisov v závislosti od toho, čo chcete dotazovať: podľa názvu, podľa číselného identifikátora, podľa balíka ovládačov alebo podľa administratívnej kategórie.

Základná syntax zahŕňa varianty ako napríklad:

Get-CMDriver

Get-CMDriver -DriverPackageId <String>

Get-CMDriver -DriverPackageName <String>

Get-CMDriver -Id <Int32>

Get-CMDriver -InputObject <IResultObject>

Pomocou týchto parametrov môžete smerovať svoje dopyty do katalógu SCCM a filtrovať podľa názov ovládača, identifikátor, súvisiace balíky alebo administratívne kategórie ktoré ste definovali na usporiadanie vašich ovládačov.

Príklady s Get-CMDriver

Ak poznáte názov konkrétneho ovládača, napríklad „Ovládač sériového rozbočovača Surface“, jeho podrobnosti môžete získať pomocou:

Get-CMDriver -Name "Surface Serial Hub Driver"

Ak potrebujete skontrolovať viacero ovládačov, ktoré majú v názve rovnaký prefix (napríklad celá rodina ovládačov Surface) a chcete zobraziť iba niektoré relevantné vlastnosti, môžete použiť niečo ako:

  Získanie zlyhalo – v prehliadači Chrome sa vyskytla chyba neadekvátnych povolení

Get-CMDriver -Fast -Name "Surface*" | Select-Object LocalizedDisplayName, DriverVersion, DriverDate

modifikátor -Rýchlo Znižuje to množstvo získaných informácií a zrýchľuje dotaz, čo je dosť viditeľné vo veľkých katalógoch. Potom, pomocou Select-Object, Ponecháte si iba stĺpce, ktoré sú pre vás užitočné pre vašu analýzu.

Ak spravujete administratívne kategórie (napríklad kategóriu „Povrch“, kde zoskupujete všetky tieto ovládače), môžete reťaziť vyhľadávanie kategórií a ovládačov takto:

$category = Get-CMCategory -Name "Surface"
Get-CMDriver -Fast -AdministrativeCategory $category

V tomto prípade najprv uložíte kategóriu do premennej a potom požiadate Get-CMDriver, aby vám ju vrátil. všetky ovládače priradené k danej kategórii, čo je veľmi užitočné na udržiavanie logických zobrazení vašich ovládačov v SCCM.

Obmedzenia pri zobrazovaní dynamicky načítaných ovládačov

Nie všetky ovládače sa správajú rovnako. Existujú nástroje, napríklad niektoré v balíku. Sysinternals (napríklad Process Explorer alebo handle.exe)ktoré dynamicky vkladajú ovládače do jadra pri ich spustení bez toho, aby ich registrovali ako tradičné služby načítané pri štarte.

Typickým príkladom je vodič súbor procexp152.sys (alebo staršie verzie, ako napríklad procexp113.sys), spojené s Process Explorerom. Tento typ ovládača sa nemusí zobraziť v štandardných dotazoch Get-WmiObject Win32_SystemDriverkeďže tieto dotazy sa spoliehajú na informácie z registračných služieb (CurrentControlSet\Services) a zvyčajne odrážajú najmä ovládače, ktoré sú načítané so systémom.

podobne, driverquery nemusí zobraziť všetky dynamicky vložené ovládačeAk teda ladíte BSOD alebo anomálne správanie spôsobené nástrojmi tretích strán, ktoré načítavajú vlastné ovládače, možno budete musieť použiť iné metódy.

Medzi tieto alternatívy patria preskúmať výpisy pamäte jadro pomocou nástrojov ako WinDbg alebo použite utility ako verifikátor.exeOverovač ovládačov vám umožňuje vybrať ovládače, ktoré chcete monitorovať a detegovať nestabilné správanie, ale grafické rozhranie ponúka viac možností vymenovania ako verzia z príkazového riadka, ktorá sa zameriava na dotazovanie a konfiguráciu overovania.

Stručne povedané, pre všeobecný inventár a pre väčšinu administratívnych potrieb, PowerShell, WMI a Get-WindowsDriver veľmi dobre pokrývajú základy.V extrémnych prípadoch ladenia ovládačov načítaných počas prevádzky však budete musieť použiť nástroje na analýzu jadra.

Aktualizácia ovládačov pomocou PowerShellu pomocou PSWindowsUpdate

Okrem zobrazenia ovládačov používa mnoho administrátorov PowerShell aj na automatizovať aktualizácie ovládačov prostredníctvom Windows Update a tiež pre aktualizovať ovládače zvukuJednou z bežne používaných metód je modul PSWindowsUpdate, ktorý rozširuje štandardné rutiny cmdlets aktualizácie.

Obvyklý tok prechádza cez dočasne povoliť vykonávanie podpísaných skriptovNainštalujte modul a potom si vyžiadajte aktualizácie ovládačov priamo zo serverov spoločnosti Microsoft.

Typická sada príkazov môže byť:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
Install-Module PSWindowsUpdate
Import-Module PSWindowsUpdate
Get-WindowsUpdate
Get-WindowsUpdate -MicrosoftUpdate -Category Driver -Install -AutoReboot

Táto sekvencia umožňuje vykonávanie skriptov pre aktuálnu reláciu, inštaluje a importuje modul PSWindowsUpdate, Skontrolujete, aké aktualizácie sú k dispozícii. A nakoniec požiadate o ich inštaláciu z kategórie „Ovládač“ prostredníctvom služby Microsoft Update, čo umožní systému v prípade potreby automatický reštart.

Rozsah môžete rozšíriť aj použitím príkazu, ktorý nainštaluje všetky aktualizácie zistené službou Microsoft Update a reštartuje systém bez zásahu, napríklad:

Get-WindowsUpdate -MicrosoftUpdate -Install -AutoReboot

Tento spôsob práce je obzvlášť praktický v veľké tímové parkyTu je potrebné štandardizovať verzie ovládačov bez toho, aby ste ich prechádzali jednu po druhej. Vždy je však vhodné kombinovať to s dobrým predchádzajúcim inventárom ovládačov a v kritických prostrediach ich pred nasadením v celej organizácii otestovať v pilotnej skupine.

Problémy s perifériami a ovládačmi pre systém Windows
Súvisiaci článok:
Kompletný sprievodca odstránením zariadení Ghost a osirelých ovládačov v systéme Windows