Kaip išvardyti ir tvarkyti tvarkykles naudojant „PowerShell“ sistemoje „Windows“

Paskutiniai pakeitimai: 04/12/2025
Autorius: Izaokas
  • PowerShell " Tai leidžia jums sudaryti sąrašą, filtruoti ir eksportuoti vairuotojai su cmdlet, pvz., „Get-WmiObject“ ir „Get-WindowsDriver“.
  • vairuotojo užklausa Įrenginių tvarkytuvė ir SCCM (Get-CMDriver) papildo valdiklio inventorių.
  • Kai kuriems dinamiškai įkeliamiems tvarkyklėms reikalingos papildomos priemonės, pvz., „WinDbg“ arba „Verifier“.
  • Tokie moduliai kaip „PSWindowsUpdate“ ir išorinės programos leidžia lengvai atnaujinti tvarkykles ir palaikyti jų atnaujinimus.

Išvardykite tvarkykles iš „PowerShell“

„Windows“ aplinkose kontroliuoti, kurios tvarkyklės yra įdiegtos ir kokia kiekvienos versija Tai labai svarbu norint palaikyti sistemos stabilumą, šalinti mėlynojo ekrano triktis arba pasiruošti perkėlimui. „PowerShell“ tapo neįtikėtinai patogiu įrankiu atlikti tokio tipo inventorizaciją, nereikia pereiti per Įrenginių tvarkytuvę po vieną.

Šiose eilutėse matysite Kaip įvairiais būdais išvardyti valdiklius iš „PowerShell“ ir kaip juos eksportuoti prie failų, kad juos ramiai išanalizuotumėte, kuo jie skiriasi nuo kitų komandos kaip driverquery ar grafinius įrankius ir netgi kaip tvarkyti sudėtingesnius scenarijus, pvz., neprisijungus pasiekiamus vaizdus ar dinamiškai įkeliamus tvarkykles.

Kas yra tvarkyklė ir kodėl norėtumėte ją išvardyti iš „PowerShell“?

Įrenginių tvarkyklės sistemoje „Windows“

„Windows“ sistemoje valdiklis arba tvarkyklė yra mažas programinės įrangos blokas, veikiantis kaip tarpininkas tarp operacinės sistemos ir jos komponento techninė įranga (vaizdo plokštė, lustų rinkinys, sandėliavimasperiferiniai įrenginiai USBir kt.). Nors jų užimamas kodas nėra milžiniškas, jų poveikis sistemos stabilumui yra milžiniškas.

Kai svarbus vairuotojas (pvz., saugykla, tinklas, grafika arba lustų rinkinys) gedimai, gali sukelti gedimus, našumo praradimą ir net mėlyni ekranai (BSOD)Štai kodėl aiškus įdiegtų tvarkyklių ir jų versijų sąrašas yra toks naudingas, kai derinate klaidas arba ruošiatės dideliam atnaujinimui.

Prieš skubant keisti, pašalinti ar atkurti senesnes tvarkykles, verta Sumažinkite riziką naudodami sistemos atkūrimo taškąTokiu būdu galite atkurti pradinę būseną, jei tvarkyklės atnaujinimas nepavyksta ir kompiuteris pradeda elgtis keistai arba net netinkamai paleidžiamas.

Be restorano, patartina svarbių duomenų atsarginę kopiją (dokumentus, nuotraukas, darbo projektus ir kt.), ypač jei ketinate liesti atminties tvarkykles, nes dėl klaidos sistema gali netinkamai prijungti diskus arba sugadinti informaciją.

Pagrindinė „PowerShell“ komanda, skirta įdiegtų tvarkyklių sąrašui

Tiesiausias būdas gauti valdiklio inventorių iš „PowerShell“ yra pasikliauti WMIViena iš dažniausiai naudojamų komandų yra:

Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, DriverVersion

Su šia cmdlet, „PowerShell“ užklausia „Win32_PnPSignedDriver“ WMI klasę ir grąžina pasirašytų PnP tvarkyklių sąrašą kartu su įrenginio pavadinimu ir tvarkyklės versija, kurią sistema šiuo metu su juo susiejo.

Jei norite šiek tiek daugiau informacijos apie kiekvieną vairuotoją, galite pridėti tokius laukus kaip draugiškas pavadinimas, išleidimo data arba gamintojas. Por ejemplo:

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

Šios konsultacijos metu gausite Daug išsamesnė informacija apie kiekvieną įrašąTai leidžia aptikti senesnes versijas, konkrečius gamintojus arba tvarkykles, kurios nebuvo atnaujintos metų metus.

Kaip eksportuoti tvarkyklių sąrašą į failą (TXT arba CSV)

Realiame pasaulyje retai kada pakanka vien peržiūrėti sąrašą ekrane. Patogiausias būdas yra... išsaugoti rezultatą faile analizuoti jį programoje „Excel“, bendrinti su komanda arba išsaugoti kaip sistemos būsenos momentinę kopiją prieš atliekant bet kokius pakeitimus, pavyzdžiui, prieš ištrinti senus tvarkykles.

Jei jums reikia tik greito paprasto teksto sąrašo, galite nukreipti išvestį į failą:

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

Ta komanda sukuria failą C:\drivers.txt su paprastu įrenginio ir versijos sąrašu. Idealiai tinka greitai peržiūrai arba pridėjimui prie ataskaitos be didelių rūpesčių.

Kai ieškote kažko lengviau valdomo filtravimui ir rūšiavimui, geriausias pasirinkimas yra naudoti CSV ir „Export-CSV“ cmdletLabai dažnas pavyzdys būtų:

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

Naudojant šią komandą, sukuriamas failas, pavadintas ManoVairuotojai.csv kurį galite atidaryti programoje „Excel“ arba bet kurioje kitoje skaičiuoklių programoje rūšiuoti pagal versiją, filtruoti pagal tvarkyklės datą, ieškoti konkrečių gamintojųIr tt

Nors kartais sakoma, kad „PowerShell“ „neleidžia eksportuoti“ tvarkyklių sąrašo, iš tikrųjų Taip, jį galima puikiai eksportuoti. Naudojant išvesties peradresavimą arba „Export-CSV“, kaip ką tik matėte. Tada galite kopijuoti, įklijuoti arba dirbti su ta informacija kur tik norite.

  25 nuostabūs įrankiai garso failams iš vaizdo įrašų išgauti

Filtruokite tvarkykles pagal gamintoją, pavadinimą arba konkretų tekstą

Paprastai nenorėsite matyti visų tvarkyklių vienu metu, o sutelksite dėmesį į konkretų gamintoją arba įrenginio tipą. Tam galite filtrų sujungimas naudojant „Where-Object“ apie kiekvieno vairuotojo savybes.

Pavyzdžiui, jei norite išsaugoti tik tvarkykles "Intel"Galėtumėte padaryti ką nors tokio paprasto, kaip:

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

Ši komanda iteruoja visus WMI grąžintus įrašus ir Jis palaiko tik tuos, kurių įrenginio pavadinime yra eilutė „Intel“Žvaigždutės naudojimas kaip pakaitos simbolis leidžia ieškoti dalinių atitikmenų bet kurioje teksto vietoje.

Ta pati idėja gali būti naudojama norint rasti tvarkykles, susijusias su konkrečia programa ar aparatinės įrangos tipu, pavyzdžiui, atnaujinti USB tvarkyklesJei žinote dalį pavadinimo, gamintoją ar kokį nors maršruto modelį, galite pritaikykite filtrą prie patogiausios savybės kiekvienu atveju.

Tvarkyklių peržiūra įrenginių tvarkytuvėje ir kituose „Windows“ įrankiuose

Nors „PowerShell“ yra labai galinga sąrašų automatizavimui ir eksportavimui, „Windows“ vis tiek siūlo klasikiniai grafiniai valdiklių valdymo įrankiai kuris turėtų būti žinomas ir derinamas su komandų keliu.

Pirmasis atskaitos taškas yra Įrenginių tvarkytuvėTai galima pasiekti dešiniuoju pelės mygtuku spustelėjus „Šis kompiuteris“ ir pasirinkus „Tvarkyti“ arba greičiau naudojant mygtuko „Pradėti“ („Windows“ + X) kontekstinį meniu. Ten pamatysite medį su visomis sistemoje įdiegtomis aparatinės įrangos kategorijomis.

Įrenginiai, kuriuose kyla diegimo ar veikimo problemų, dažnai rodomi su geltona įspėjamoji piktogramaDukart spustelėjus bet kurį iš jų, atsidarys ypatybių langas, kuriame galite patikrinti įrenginio būseną ir pasiekti skirtuką „Vairuotojas“.

Tame skirtuke rasite tokias parinktis kaip „Vairuotojo informacija“, „Atnaujinti tvarkyklę“, „Ankstesnė tvarkyklės versija“, „Išjungti“ arba „Pašalinti“Šie veiksmai leidžia peržiūrėti tvarkyklės failus, ieškoti naujų versijų, grįžti prie ankstesnės versijos, išjungti įrenginį jo neištrinant arba visiškai pašalinti tvarkyklę iš sistemos.

Be šių įrankių, „Windows“ turi komandą driverquery naudoti iš komandinė eilutė (CMD). Bėgimas driverquery Gausite visų įdiegtų tvarkyklių sąrašą ir driverquery /v Matysite išsamesnę informaciją, pvz., atminties naudojimą, kūrimo datą arba būseną.

„driverquery“ ir jos ryšys su „PowerShell“

„driverquery“ komanda yra labai lanksti ir leidžia Peržiūrėti skirtingus vairuotojo būsenos rodiniusPavyzdžiui, jei norite išsamiau išvardyti tik pasirašytus tvarkykles, galite paleisti:

driverquery /si

Šis režimas rodo pasirašyti vairuotojai su papildoma naudinga informacija saugumo auditams ar vientisumo patikrinimams. Visada galite pasikonsultuoti driverquery /? , kad pamatytumėte visus galimus parametrus ir pritaikytumėte išvestį pagal savo poreikius.

Vienas iš „driverquery“ privalumų yra tas, kad Galite integruoti jį su „PowerShell“ naudodami „ConvertFrom-CSV“Jei sugeneruosite išvestį CSV formatu ir ją perduosite, gausite objektus, kuriuos bus galima valdyti naudojant „PowerShell“. Klasikinis pavyzdys būtų:

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

Su tuo jūs derinate „Driverquery“ galia naudojant „PowerShell“ duomenų manipuliavimąPasirinkdami tik jus dominančius stulpelius: rodomą pavadinimą, paleidimo režimą, puslapiuojamą atmintį ir tvarkyklės kelią diske. Tai naudinga, kai norite filtruoti pagal konkrečius tipus, pvz. grafikos tvarkykles.

Reikėtų atkreipti dėmesį, kad tiek „driverquery“, tiek tam tikros standartinės WMI užklausos daugiausia dėmesio skiria sistemoje užregistruoti vairuotojai, daugelis jų pakrauti į bagažinė arba valdoma per registrą adresu HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. Kai kurios tvarkyklės, kurios dinamiškai įterpiamos vykdymo metu, gali būti nerodomos šiuose sąrašuose.

Išvardykite tvarkykles iš „PowerShell“ naudodami „Get-WindowsDriver“

Sudėtingesniems scenarijams, ypač dirbant su „Windows“ neprisijungus pasiekiami atvaizdai (pavyzdžiui, prijungti WIM), cmdlet yra labai naudingas Gauti „WindowsDriver“, kuri yra „PowerShell“ pasiekiamų DISM įrankių dalis.

Ši cmdlet leidžia rodyti informaciją apie tvarkyklių paketus, skirtus tiek veikiančiai „Windows“ diegimo versijai, tiek aplanke esančiam atvaizdui. Pagrindinė sintaksė yra padalinta į du pagrindinius naudojimo režimus: neprisijungus ir prisijungus.

  Kaip žingsnis po žingsnio ištrinti naudojamus failus sistemoje „Windows“

neprisijungus pasiekiamas vaizdas, įkeltas į aplankąBendra forma būtų tokia:

Get-WindowsDriver -Path "C:\offline"

O norėdami dirbti prieš veikiančią sistemą, naudotumėte parametrą -Prisijungęs:

Get-WindowsDriver -Online

Be papildomų parametrų, „Get-WindowsDriver“ grąžina trečiųjų šalių tvarkyklių sąrašą esantis paveikslėlyje. Jei pridėsite modifikatorių -VisiTaip pat matysite numatytuosius tvarkykles, įtrauktas pagal numatytuosius nustatymus sistemoje „Windows“.

Pagrindiniai „Get-WindowsDriver“ parametrai

Vienas iš svarbiausių parametrų yra -Vairuotojaskuris leidžia jums nurodyti konkretus .inf failas arba .inf failų aplankas Norėdami gauti išsamią informaciją apie tas tvarkykles. Jei nukreipsite pelės žymeklį į aplanką, .inf failai, kurie nėra galiojantys tvarkyklių paketai, bus automatiškai ignoruojami.

Kai dirbate su neprisijungus pasiekiamu vaizdu, parametras -Kelias nurodo prijungto atvaizdo šakninį kelią. Jei „Windows“ aplankas nėra tame šakniniame lygmenyje, galite naudoti -Windows katalogas , kad nurodytumėte santykinį poaplankį, kuriame jis yra.

Parametras -Sistemos diskas Jis naudojamas konkretesniuose scenarijuose, pavyzdžiui, kai dirbama su „Windows PE“, o įkrovos tvarkyklė yra kitame skaidinyje. Tokiais atvejais jis skirtas nurodyti diską, kuriame yra „BootMgr“ failai, kurie turėtų būti pateikiami.

Kalbant apie veiklos žurnalą, parametras -LogPath Tai leidžia jums apibrėžti visą žurnalo failo kelią. Jei jo nepakeisite, bus naudojamas numatytasis kelias. %WINDIR%\Logs\Dism\dism.logarba „Windows PE“ sistemoje – laisva vieta RAM atmintyje. Tuo tarpu -LogLevel nustato žurnalo išsamumą, kurio vertės svyruoja nuo klaidų iki derinimo informacijos įtraukimo.

Galiausiai, parametras -Nutrinti katalogą Tai laikinas aplankas, kuriame išskleidžiami failai atliekant paslaugas. Tai turi būti vietinis kelias, o operacijai pasibaigus... laikini failai Jie automatiškai pašalinami, nepaliekant jokių likučių.

Praktiniai pavyzdžiai naudojant „Get-WindowsDriver“

Norėdami greitai pamatyti visas dabartinės „Windows“ diegimo tvarkykles, galite paleisti:

Get-WindowsDriver -Online -All

Ši komanda parodys visos tvarkyklės (tiek sistemos, tiek trečiųjų šalių) esantis veikiančiame atvaizdyje. Tai labai tiesioginis būdas pamatyti, kurie paketai yra įdiegti, nenaudojant WMI ar įrenginių tvarkytuvės.

Jei dirbate su a vaizdas, prijungtas prie C:\offline O jei norite patikrinti tik trečiųjų šalių tvarkykles, galite atlikti šiuos veiksmus:

Get-WindowsDriver -Path "C:\offline"

Jei norite išsamios ataskaitos apie konkretų OEM tvarkyklę tame atvaizde, tiesiog nurodykite .inf failą:

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

Galite netgi pasiekti .inf failą, esantį konkrečiame tvarkyklės kelyje, pavyzdžiui:

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

Visais šiais atvejais, „Get-WindowsDriver“ grąžina objektus kurį galite nukreipti į „Select-Object“, „Where-Object“ arba „Export-CSV“, kad filtruotumėte, rūšiuotumėte arba eksportuotumėte informaciją jums tinkamiausiu formatu.

„PowerShell“ ir SCCM: „Get-CMDriver“ tvarkyklių katalogams

Kai valdote įmonės aplinką su Konfigūracijos tvarkyklė (SCCM)Jus domina ne tik kiekvieno kompiuterio tvarkyklės, bet ir centralizuotas tvarkyklių katalogas, kurį SCCM tvarko atvaizdams ir paketams diegti.

Tokioje situacijoje praverčia cmdlet. Get-CMDriverTai tinka Gauti informaciją iš įrenginių tvarkyklių, kurias valdo konfigūracijos tvarkyklėŠi cmdlet turi kelis parašus, priklausomai nuo to, ko norite užklausti: pagal pavadinimą, pagal skaitmeninį identifikatorių, pagal tvarkyklės paketą arba pagal administravimo kategoriją.

Pagrindinė sintaksė apima tokius variantus kaip:

Get-CMDriver

Get-CMDriver -DriverPackageId <String>

Get-CMDriver -DriverPackageName <String>

Get-CMDriver -Id <Int32>

Get-CMDriver -InputObject <IResultObject>

Naudodami šiuos parametrus galite nukreipti užklausas į SCCM katalogą, filtruodami pagal vairuotojo vardas, identifikatorius, susiję paketai arba administracinės kategorijos kuriuos apibrėžėte, kad sutvarkytumėte savo valdiklius.

Pavyzdžiai su Get-CMDriver

Jei žinote konkrečios tvarkyklės pavadinimą, pvz., „Surface Serial Hub Driver“, jos informaciją galite gauti taip:

Get-CMDriver -Name "Surface Serial Hub Driver"

Kai reikia patikrinti kelias tvarkykles, kurių pavadinime yra tas pats prefiksas (pvz., visą „Surface“ tvarkyklių šeimą), ir norite matyti tik kai kurias svarbias ypatybes, galite naudoti kažką panašaus į:

  Nepavyko gauti – netinkamų leidimų klaida „Chrome“.

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

Modifikatorius -Greitai Tai sumažina gaunamos informacijos kiekį ir pagreitina užklausą, o tai gana pastebima dideliuose kataloguose. Tada, naudojant „Select-Object“, Paliekate tik tuos stulpelius, kurie jums naudingi jūsų analizei.

Jei tvarkote administracines kategorijas (pvz., kategoriją „Paviršius“, kurioje grupuojate visus tuos valdiklius), galite susieti kategorijų ir tvarkyklių paiešką taip:

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

Šiuo atveju pirmiausia kategoriją išsaugote kintamajame, o tada paprašote „Get-CMDriver“ ją grąžinti. visi su ta kategorija susiję valdikliai, kažkas labai naudingo norint tvarkyti valdiklių loginius vaizdus SCCM.

Apribojimai pateikiant dinamiškai įkeltų tvarkyklių sąrašą

Ne visi vairuotojai elgiasi vienodai. Yra įrankių, pavyzdžiui, kai kurie iš jų yra rinkinyje. „Sysinternals“ (pvz., „Process Explorer“ arba „handle.exe“)kurios dinamiškai įterpia tvarkykles į branduolį, kai jos vykdomos, neregistruodamos jų kaip tradicinių paslaugų, įkeliamų paleidžiant.

Tipiškas pavyzdys yra vairuotojas procexp152.sys (arba ankstesnės versijos, pvz., procexp113.sys), susietos su „Process Explorer“. Šio tipo tvarkyklė gali nebūti rodoma standartinėse užklausose Get-WmiObject Win32_SystemDrivernes šios užklausos remiasi informacija iš registro tarnybų („CurrentControlSet\Services“) ir paprastai atspindi daugiausia tvarkykles, kurios yra įkeltos kartu su sistema.

Be to, „driverquery“ gali nepateikti visų dinamiškai įterptų tvarkykliųTaigi, jei derinate BSOD arba anomalinį elgesį, kurį sukelia trečiųjų šalių įrankiai, įkeliantys savo tvarkykles, gali tekti kreiptis į kitus metodus.

Tarp tų alternatyvų yra nagrinėti atminties sąvartynai branduolys su tokiais įrankiais kaip „WinDbg“ arba naudokitės tokiomis paslaugomis kaip verifier.exeTvarkyklių tikrintuvas leidžia pasirinkti tvarkykles, kurias norite stebėti ir aptikti nestabilų veikimą, tačiau grafinė sąsaja siūlo daugiau išvardijimo parinkčių nei komandinės eilutės versija, kuri daugiausia dėmesio skiria užklausoms ir tikrinimo konfigūravimui.

Trumpai tariant, bendram inventoriui ir daugumai administracinių poreikių „PowerShell“, WMI ir „Get-WindowsDriver“ labai gerai padengia pagrindus.Tačiau kraštutiniais atvejais, kai reikia derinti karštai įkeltas tvarkykles, reikės papildyti jas branduolio analizės įrankiais.

Atnaujinkite tvarkykles naudodami „PowerShell“ naudodami PSWindowsUpdate

Be tvarkyklių sąrašo, daugelis administratorių naudoja „PowerShell“, kad automatizuoti tvarkyklių atnaujinimus per "Windows" naujinimo ir taip pat atnaujinti garso tvarkyklesVienas dažniausiai naudojamas metodas yra per PSWindowsUpdate modulį, kuris išplečia standartines atnaujinimo cmdlet.

Įprastas srautas praeina pro laikinai įjungti pasirašytų scenarijų vykdymąĮdiekite modulį ir tada užklauskite tvarkyklės atnaujinimus tiesiai iš „Microsoft“ serverių.

Tipiškas komandų rinkinys gali būti toks:

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

Ši seka įgalina scenarijaus vykdymą dabartinėje sesijoje, įdiegia ir importuoja PSWindowsUpdate modulį, Patikrinate, kokie atnaujinimai yra prieinami. Galiausiai, jūs prašote juos įdiegti iš kategorijos „Tvarkyklė“ per „Microsoft Update“, kad sistema prireikus galėtų automatiškai paleisti iš naujo.

Taip pat galite išplėsti taikymo sritį naudodami komandą, kuri įdiegia visus „Microsoft Update“ aptiktus naujinimus ir paleidžia sistemą iš naujo be įsikišimo, pavyzdžiui:

Get-WindowsUpdate -MicrosoftUpdate -Install -AutoReboot

Šis darbo būdas yra ypač praktiškas, kai dideli komandų parkaiČia reikėtų standartizuoti tvarkyklių versijas, jų nenagrinėjant po vieną. Tačiau visada patartina tai derinti su geru išankstiniu tvarkyklių inventoriumi ir, kritinėse aplinkose, išbandyti bandomojoje grupėje prieš diegiant visoje organizacijoje.

„Windows“ periferiniai įrenginiai, tvarkyklių problemos
Susijęs straipsnis:
Išsamus vadovas, kaip pašalinti „Ghost Devices“ ir „Bendrosios paskirties tvarkykles“ sistemoje „Windows“