Kako popisati i upravljati upravljačkim programima iz PowerShella u sustavu Windows

Zadnje ažuriranje: 04/12/2025
Autor: Isaac
  • PowerShell Omogućuje vam popisivanje, filtriranje i izvoz vozači s cmdletima kao što su Get-WmiObject i Get-WindowsDriver.
  • upit za vozača, the Administrator dispozitiva i SCCM (Get-CMDriver) nadopunjuju inventar kontrolera.
  • Neki dinamički učitani upravljački programi zahtijevaju dodatne alate poput WinDbg-a ili verifikatora.
  • Moduli poput PSWindowsUpdate i vanjski uslužni programi olakšavaju ažuriranje i održavanje upravljačkih programa ažurnima.

Popis upravljačkih programa iz PowerShella

U Windows okruženjima, kontrolirati koji su upravljački programi instalirani i koju verziju svaki od njih ima Ključno je za održavanje stabilnosti sustava, rješavanje problema s plavim ekranima ili pripremu za migracije. PowerShell je postao nevjerojatno praktičan alat za izvođenje ove vrste inventara bez potrebe za prolaskom kroz Upravitelj uređaja jedan po jedan.

U sljedećim redcima vidjet ćete Kako na različite načine navesti kontrolere iz PowerShella i kako ih izvesti do datoteka kako bi ih mirno analizirali, koje su razlike u odnosu na druge naredbe kao driverquery ili grafičke alate, pa čak i kako rukovati naprednijim scenarijima kao što su slike izvan mreže ili dinamički učitani upravljački programi.

Što je upravljački program i zašto biste ga htjeli navesti iz PowerShella?

Upravljački programi uređaja u sustavu Windows

U sustavu Windows, kontroler ili upravljački program je mali blok softvera koji djeluje kao posrednik između operacijskog sustava i komponente hardver (grafička kartica, čipset, skladištenjeperiferni uređaji USBitd.). Iako kod koji zauzimaju nije ogroman, njihov utjecaj na stabilnost sustava je ogroman.

Kada ključni pokretač (na primjer, pohrana, mreža, grafika ili čipset) kvarovi, mogu uzrokovati padove, gubitak performansi, pa čak i plavi ekrani (BSOD)Zato je imati jasan popis instaliranih upravljačkih programa i njihovih verzija toliko korisno kada otklanjate greške ili se pripremate za veliko ažuriranje.

Prije nego što požurite s promjenom, deinstalacijom ili vraćanjem starih upravljačkih programa, dobra je ideja minimizirajte rizike pomoću točke vraćanja sustavaNa ovaj način možete se vratiti na prethodno stanje ako ažuriranje upravljačkog programa pođe po zlu i računalo se počne čudno ponašati ili se čak ni ne pokrene ispravno.

Osim restorana, preporučljivo je napravite sigurnosnu kopiju važnih podataka (dokumenti, fotografije, radni projekti itd.), posebno ako ćete dirati upravljačke programe za pohranu, budući da pogreška može uzrokovati da sustav ne montira ispravno pogone ili ošteti podatke.

Osnovna naredba u PowerShellu za popis instaliranih upravljačkih programa

Najizravniji način za dobivanje inventara kontrolera iz PowerShella je oslanjaju se na WMIJedna od najčešće korištenih naredbi je:

Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, DriverVersion

S ovim cmdletom, PowerShell šalje upite WMI klasi Win32_PnPSignedDriver i vraća popis potpisanih PnP upravljačkih programa, zajedno s nazivom uređaja i verzijom upravljačkog programa koju sustav trenutno ima povezanu s njim.

Ako želite malo više konteksta o svakom upravljačkom programu, možete dodati polja poput prijateljsko ime, datum objave ili proizvođač, Na primjer:

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

S ovim savjetovanjem dobit ćete Mnogo potpunije informacije za svaki unosTo vam omogućuje otkrivanje starijih verzija, određenih proizvođača ili upravljačkih programa koji nisu ažurirani godinama.

Kako izvesti popis upravljačkih programa u datoteku (TXT ili CSV)

U stvarnim okruženjima, samo pregledavanje popisa na zaslonu rijetko je dovoljno. Najpraktičniji pristup je... spremi rezultat u datoteku analizirati ga u Excelu, podijeliti s timom ili ga zadržati kao snimku stanja sustava prije bilo kakvih promjena, na primjer, prije izbrisati stare upravljačke programe.

Ako vam je potreban samo brzi popis u običnom tekstu, možete preusmjeriti izlaz u datoteku:

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

Ta naredba stvara datoteku C:\drivers.txt s jednostavnim popisom uređaja i verzija. Idealno za brzo pregledavanje ili prilaganje izvješću bez previše muke.

Kada tražite nešto što je jednostavnije za filtriranje i sortiranje, najbolja opcija je korištenje CSV i cmdlet Export-CSVVrlo čest primjer bi bio:

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

S ovom naredbom, datoteka pod nazivom MojiVozači.csv koje možete otvoriti u Excelu ili bilo kojem programu za proračunske tablice sortiraj po verziji, filtriraj po datumu upravljačkog programa, pretraži određene proizvođače, Itd

Iako se ponekad kaže da PowerShell "ne dopušta izvoz" popisa upravljačkih programa, u stvarnosti Da, može se savršeno izvoziti. Korištenjem preusmjeravanja izlaza ili Export-CSV-a, kao što ste upravo vidjeli. Zatim možete kopirati, zalijepiti ili raditi s tim informacijama gdje god želite.

  25 nevjerojatnih alata za izdvajanje audio datoteka iz videa

Filtrirajte upravljačke programe prema proizvođaču, nazivu ili određenom tekstu

Obično nećete htjeti vidjeti sve upravljačke programe odjednom, već se usredotočiti na određenog proizvođača ili vrstu uređaja. Za to možete ulančavanje filtera s Where-Object o svojstvima svakog upravljačkog programa.

Na primjer, ako ste zainteresirani za zadržavanje samo upravljačkih programa za IntelMogli biste učiniti nešto jednostavno poput:

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

Ova naredba iterira kroz sve unose koje vraća WMI i Održava samo one čiji naziv uređaja sadrži niz znakova "Intel".Korištenje zvjezdice kao zamjenskog znaka omogućuje vam pretraživanje djelomičnih podudaranja bilo gdje u tekstu.

Ista ideja može se koristiti za lociranje upravljačkih programa povezanih s određenom aplikacijom ili vrstom hardvera, na primjer za ažurirati USB upravljačke programeAko znate dio naziva, proizvođača ili neki obrazac rute, možete prilagodite filter najudobnijoj nekretnini u svakom slučaju.

Pregled upravljačkih programa iz Upravitelja uređaja i drugih Windows alata

Iako je PowerShell vrlo moćan za automatizaciju i izvoz popisa, Windows i dalje nudi klasični grafički alati za upravljanje kontrolerima koji bi trebao biti poznat i kombiniran s putanjom naredbe.

Prva referentna točka je Administrator dispozitivaTome se može pristupiti desnim klikom miša na "Ovo računalo" i odabirom "Upravljanje" ili brže korištenjem kontekstnog izbornika gumba Start (Windows + X). Tamo ćete vidjeti stablo sa svim kategorijama hardvera instaliranim na sustavu.

Uređaji koji imaju problema s instalacijom ili radom često se pojavljuju s žuta ikona upozorenjaAko dvaput kliknete na bilo koji od njih, otvorit će se prozor svojstava u kojem možete provjeriti status uređaja i pristupiti kartici "Upravljački program".

Unutar te kartice naći ćete opcije kao što su "Podaci o upravljačkom programu", "Ažuriraj upravljački program", "Vrati upravljački program na prethodnu verziju", "Onemogući" ili "Deinstaliraj"Ove radnje omogućuju vam pregled datoteka upravljačkog programa, pretraživanje novih verzija, vraćanje na prethodnu verziju, onemogućivanje uređaja bez uklanjanja ili potpuno uklanjanje upravljačkog programa iz sustava.

Uz ove alate, Windows uključuje naredbu driverquery koristiti od naredbeni redak (CMD). Trčanje driverquery Dobit ćete popis svih instaliranih upravljačkih programa, a uz to i driverquery /v Vidjet ćete detaljnije informacije, kao što su korištenje memorije, datum izrade ili status.

driverquery i njegov odnos s PowerShellom

Naredba driverquery je vrlo fleksibilna i omogućuje Pogledajte različite prikaze statusa vozačaNa primjer, ako želite detaljnije popisati samo potpisane upravljačke programe, možete pokrenuti:

driverquery /si

Ovaj način rada prikazuje potpisani vozači s dodatnim korisnim informacijama za sigurnosne revizije ili provjere integriteta. I uvijek se možete konzultirati driverquery /? kako biste vidjeli sve dostupne parametre i prilagodili izlaz svojim potrebama.

Jedna od prednosti driverqueryja je ta što Možete ga integrirati s PowerShellom pomoću ConvertFrom-CSV-aAko generirate izlaz u CSV formatu i proslijedite ga putem pipe-a, dobit ćete objekte kojima se može manipulirati iz PowerShella. Klasičan primjer bio bi:

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

S ovim kombinirate Moć driverqueryja s manipulacijom podataka u PowerShelluOdabir samo stupaca koji vas zanimaju: naziv za prikaz, način pokretanja, straničena memorija i put upravljačkog programa na disku. Ovo je korisno kada želite filtrirati prema određenim vrstama, kao što su grafički upravljački programi.

Treba napomenuti da se i driverquery i određeni standardni WMI upiti prvenstveno fokusiraju na vozači registrirani u sustavu, mnogi od njih su se utovarili u čizma ili se njima upravlja putem registra na HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. Neki upravljački programi koji se dinamički ubrizgavaju tijekom izvođenja možda se neće pojaviti na tim popisima.

Popis upravljačkih programa iz PowerShella pomoću Get-WindowsDriver

Za naprednije scenarije, posebno pri radu s Slike sustava Windows izvan mreže (na primjer, montirani WIM-ovi), cmdlet je vrlo koristan Get-WindowsDriver, koji je dio DISM alata dostupnih iz PowerShella.

Ovaj cmdlet vam omogućuje prikaz informacija o paketima upravljačkih programa i za pokrenutu instalaciju sustava Windows i za sliku montiranu u mapu. Glavna sintaksa je podijeljena u dva glavna načina korištenja: izvan mreže i online.

  Kako korak po korak izbrisati datoteke koje se koriste u sustavu Windows

Za izvanmrežna slika montirana u mapuOpći oblik bi bio:

Get-WindowsDriver -Path "C:\offline"

A da biste radili protiv pokrenutog sustava, koristili biste parametar -Na liniji:

Get-WindowsDriver -Online

Bez dodatnih parametara, Get-WindowsDriver vraća popis upravljačkih programa trećih strana prisutno na slici. Ako dodate modifikator -SviTakođer ćete vidjeti zadane upravljačke programe uključene prema zadanim postavkama u sustavu Windows.

Ključni parametri Get-WindowsDriver-a

Jedan od najvažnijih parametara je -Vozačšto vam omogućuje da odredite određena .inf datoteka ili mapa .inf datoteka Za dobivanje detaljnih informacija o tim upravljačkim programima. Ako pokažete na mapu, .inf datoteke koje nisu valjani paketi upravljačkih programa automatski se zanemaruju.

Kada radite s izvanmrežnom slikom, parametar -Staza određuje korijensku putanju montirane slike. Ako mapa Windows nije na toj korijenskoj razini, možete koristiti -Windows direktorij za određivanje relativne podmape u kojoj se nalazi.

Parametar -SystemDrive Koristi se u specifičnijim scenarijima, kao što je rad iz Windows PE-a, a upravitelj pokretanja nalazi se na drugoj particiji. U tim slučajevima služi za određivanje pogona koji sadrži BootMgr datoteke koje treba poslužiti.

Što se tiče dnevnika aktivnosti, parametar -PutanjaZapisnika Omogućuje vam definiranje pune putanje do datoteke zapisnika. Ako je ne prilagodite, koristit će se zadana putanja. %WINDIR%\Logs\Dism\dism.logili u sustavu Windows PE, prazni prostor u RAM-u. U međuvremenu, -RazinaLog određuje detaljnost zapisnika, s vrijednostima u rasponu od samih pogrešaka do uključivanja informacija o otklanjanju pogrešaka.

Konačno, parametar -Imenik za početnike Ovo je privremena mapa u koju se datoteke izdvajaju tijekom servisnih operacija. Mora biti lokalna putanja i, nakon što je operacija dovršena, privremene datoteke Automatski se uklanjaju kako ne bi ostajali ostaci.

Praktični primjeri s Get-WindowsDriver

Za brzi pregled svih upravljačkih programa za vašu trenutnu instalaciju sustava Windows, možete pokrenuti:

Get-WindowsDriver -Online -All

Ova naredba će se prikazati svi upravljački programi (i sistemski i trećih strana) prisutan u radnoj slici. To je vrlo izravan način da se vidi koji su paketi instalirani bez korištenja WMI-ja ili Upravitelja uređaja.

Ako radite s a slika montirana u C:\offline A ako želite provjeriti samo upravljačke programe trećih strana, možete učiniti sljedeće:

Get-WindowsDriver -Path "C:\offline"

Ako želite detaljno izvješće o određenom OEM upravljačkom programu unutar te slike, jednostavno navedite .inf datoteku:

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

Možete čak pristupiti i .inf datoteci koja se nalazi u određenoj putanji upravljačkog programa, na primjer:

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

U svim ovim slučajevima, Get-WindowsDriver vraća objekte koje možete proslijediti Select-Object, Where-Object ili Export-CSV za filtriranje, sortiranje ili izvoz informacija u format koji vam najbolje odgovara.

PowerShell i SCCM: Get-CMDriver za kataloge upravljačkih programa

Kada upravljate korporativnim okruženjem s Upravitelj konfiguracije (SCCM)Ne zanimaju vas samo upravljački programi na svakom računalu, već i centralizirani katalog upravljačkih programa koji SCCM održava za implementaciju slika i paketa.

U tom kontekstu, cmdlet dolazi do izražaja. Get-CMDriver, To djeluje za Dohvaćanje informacija iz upravljačkih programa uređaja kojima upravlja Configuration ManagerOvaj cmdlet ima nekoliko potpisa ovisno o tome što želite upitati: po imenu, po numeričkom identifikatoru, po paketu upravljačkih programa ili po administrativnoj kategoriji.

Osnovna sintaksa uključuje varijante kao što su:

Get-CMDriver

Get-CMDriver -DriverPackageId <String>

Get-CMDriver -DriverPackageName <String>

Get-CMDriver -Id <Int32>

Get-CMDriver -InputObject <IResultObject>

Pomoću ovih parametara možete usmjeriti svoje upite na SCCM katalog, filtrirajući po naziv upravljačkog programa, identifikator, povezani paketi ili administrativne kategorije koje ste definirali za organiziranje svojih kontrolera.

Primjeri s Get-CMDriver

Ako znate naziv određenog upravljačkog programa, na primjer "Surface Serial Hub Driver", njegove podatke možete dobiti pomoću:

Get-CMDriver -Name "Surface Serial Hub Driver"

Kada trebate provjeriti nekoliko upravljačkih programa koji dijele isti prefiks u svom nazivu (kao što je cijela obitelj upravljačkih programa za Surface) i želite vidjeti samo neka relevantna svojstva, možete koristiti nešto poput:

  Dobivanje nije uspjelo – pogreška neadekvatnih dopuštenja u Chromeu

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

Modifikator -Brzo Smanjuje količinu dohvaćenih informacija i ubrzava upit, što je prilično primjetno u velikim katalozima. Zatim, s Select-Object, Zadržavate samo stupce koji su vam korisni za vašu analizu.

Ako upravljate administrativnim kategorijama (na primjer, kategorijom "Površina" gdje grupirate sve te kontrolere), možete povezati dohvaćanje kategorija i upravljačkih programa na ovaj način:

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

U ovom slučaju, prvo pohranjujete kategoriju u varijablu, a zatim tražite od Get-CMDriver-a da vam je vrati. svi kontroleri povezani s tom kategorijom, nešto vrlo korisno za održavanje logičkih prikaza vaših kontrolera u SCCM-u.

Ograničenja prilikom popisivanja dinamički učitanih upravljačkih programa

Ne ponašaju se svi upravljački programi isto. Postoje alati, poput nekih u paketu. Sysinternals (na primjer, Process Explorer ili handle.exe)koji dinamički ubrizgavaju upravljačke programe u kernel kada se izvrše, bez da ih registriraju kao tradicionalne usluge učitane pri pokretanju.

Tipičan primjer je vozač procexp152.sys (ili ranije verzije kao što je procexp113.sys), povezane s Process Explorerom. Ova vrsta upravljačkog programa možda se neće pojaviti u standardnim upitima programa Get-WmiObject Win32_SystemDriverbudući da se ovi upiti oslanjaju na informacije iz servisa registra (CurrentControlSet\Services) i obično odražavaju uglavnom upravljačke programe koji su učitani sa sustavom.

slično tome, driverquery možda ne prikazuje sve dinamički ubrizgane upravljačke programeDakle, ako ispravljate BSOD-ove ili anomalno ponašanje uzrokovano alatima trećih strana koji učitavaju vlastite upravljačke programe, možda ćete morati pribjeći drugim metodama.

Među tim alternativama su ispitati, pregledati odlagališta memorije zrno s alatima poput WinDbg-a ili koristite uslužne programe poput verifikator.exeVerifikator upravljačkih programa omogućuje vam odabir upravljačkih programa koje želite pratiti i otkriti nestabilno ponašanje, ali grafičko sučelje nudi više opcija nabrajanja od verzije naredbenog retka, koja se fokusira na upite i konfiguriranje verifikacije.

Ukratko, za opći popis i za većinu administrativnih potreba, PowerShell, WMI i Get-WindowsDriver vrlo dobro pokrivaju osnove.Međutim, u ekstremnim slučajevima otklanjanja pogrešaka vruće učitanih upravljačkih programa, morat ćete nadopuniti alatima za analizu kernela.

Ažurirajte upravljačke programe pomoću PowerShella pomoću PSWindowsUpdate-a

Osim popisivanja upravljačkih programa, mnogi administratori koriste PowerShell za automatizirati ažuriranja upravljačkih programa putem Windows Update i također za ažurirajte upravljačke programe za zvukJedna često korištena metoda je putem modula PSWindowsUpdate, koji proširuje standardne cmdlete za ažuriranje.

Uobičajeni tok prolazi kroz privremeno omogući izvršavanje potpisanih skriptiInstalirajte modul, a zatim zatražite ažuriranja upravljačkih programa izravno s Microsoftovih poslužitelja.

Tipičan skup naredbi može biti:

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

Ovaj niz omogućuje izvršavanje skripte za trenutnu sesiju, instalira i uvozi modul PSWindowsUpdate, Provjeravate koja su ažuriranja dostupna. I na kraju, zatražite da se instaliraju iz kategorije "Upravljački program" putem Microsoft Updatea, što omogućuje sustavu da se automatski ponovno pokrene ako je potrebno.

Također možete proširiti opseg korištenjem naredbe koja instalira sva ažuriranja otkrivena s Microsoft Updatea i ponovno pokreće sustav bez intervencije, na primjer:

Get-WindowsUpdate -MicrosoftUpdate -Install -AutoReboot

Ovaj način rada je posebno praktičan u veliki timski parkoviOvdje želite standardizirati verzije upravljačkih programa bez pregledavanja jedne po jedne. Međutim, uvijek je preporučljivo kombinirati to s dobrim prethodnim popisom upravljačkih programa i, u kritičnim okruženjima, testirati u pilotnoj skupini prije implementacije u cijeloj organizaciji.

Problemi s Windows perifernim uređajima i upravljačkim programima
Povezani članak:
Potpuni vodič za uklanjanje Ghost uređaja i osirotelih upravljačkih programa u sustavu Windows