- PowerShell See võimaldab teil loetleda, filtreerida ja eksportida draiverid cmdlettidega nagu Get-WmiObject ja Get-WindowsDriver.
- draiveripäring Seadmehaldur ja SCCM (Get-CMDriver) täiendavad kontrolleri inventuuri.
- Mõned dünaamiliselt laaditavad draiverid vajavad lisatööriistu, näiteks WinDbg või Verifier.
- Moodulid nagu PSWindowsUpdate ja välised utiliidid muudavad draiverite värskendamise ja ajakohasena hoidmise lihtsaks.
Windowsi keskkondades kontrollida, millised draiverid on installitud ja milline versioon igaühel neist on See on süsteemi stabiilsuse säilitamise, siniste ekraanide tõrkeotsingu või migratsioonideks ettevalmistamise võti. PowerShellist on saanud uskumatult mugav tööriist seda tüüpi inventuuri tegemiseks ilma, et peaksite seadmehaldurit ükshaaval läbi käima.
Järgmistes ridades näete Kuidas PowerShelli kontrollereid mitmel viisil loetleda ja kuidas neid eksportida failidele, et neid rahulikult analüüsida, millised on erinevused teistega võrreldes käsud kui driverquery või graafilisi tööriistu ja isegi seda, kuidas käsitleda keerukamaid stsenaariume, näiteks võrguühenduseta pilte või dünaamiliselt laaditavaid draivereid.
Mis on draiver ja miks peaksite seda PowerShellis loetlema?

Windowsis on kontroller või draiver väike tarkvaraplokk, mis toimib vahendajana operatsioonisüsteemi ja selle komponendi vahel riistvara (graafikakaart, kiibistik, ladustaminevälisseadmed USBjne). Kuigi nende poolt hõivatud kood ei ole tohutu, on nende mõju süsteemi stabiilsusele hiiglaslik.
Kui kriitiline juht (näiteks salvestusruum, võrk, graafika või kiibistik) talitlushäired, mis võivad põhjustada krahhe, jõudluse langust ja isegi sinised ekraanid (BSOD)Seetõttu on installitud draiverite ja nende versioonide selge loendi omamine nii kasulik vigade silumisel või oluliseks värskenduseks valmistumisel.
Enne kui kiirustate draivereid muutma, desinstallima või tagasi kerima, on hea mõte Minimeerige riske süsteemi taastepunkti abilNii saate taastada oleku, kui draiveri värskendus läheb valesti ja arvuti hakkab kummaliselt käituma või ei käivitu isegi õigesti.
Lisaks restoranile on soovitatav varundage olulised andmed (dokumendid, fotod, tööprojektid jne), eriti kui kavatsete puudutada salvestusdraivereid, kuna viga võib põhjustada draivide vale ühendamise või teabe rikkumise.
PowerShellis põhikäsk installitud draiverite loetlemiseks
Kõige otsesem viis kontrolleri inventuuri saamiseks PowerShellist on tugineda WMI-leÜks enimkasutatavaid käske on:
Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, DriverVersion
Selle cmdleti abil PowerShelli päringud Win32_PnPSignedDriver WMI klassile ja tagastab allkirjastatud PnP-draiverite loendi koos seadme nime ja draiveri versiooniga, mis süsteemil hetkel sellega on seostatud.
Kui soovite iga draiveri kohta veidi rohkem konteksti, saate lisada selliseid välju nagu sõbralik nimi, avaldamiskuupäev või tootja. Näiteks:
Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, FriendlyName, Manufacturer, DriverVersion, DriverDate
Selle konsultatsiooni käigus saate Palju täielikum teave iga kirje kohtaSee võimaldab teil tuvastada vanemaid versioone, konkreetseid tootjaid või draivereid, mida pole aastaid uuendatud.
Kuidas draiverite nimekirja faili (TXT või CSV) eksportida?
Päris elus ei piisa sageli ainult ekraanil oleva loendi vaatamisest. Kõige mugavam on... salvesta tulemus faili analüüsida seda Excelis, jagada meeskonnaga või säilitada süsteemi oleku hetktõmmisena enne muudatuste tegemist, näiteks enne kustuta vanad draiverid.
Kui vajate ainult kiiret lihttekstilist loendit, saate väljundi faili suunata:
Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, DriverVersion > C:\drivers.txt
See käsk loob faili C:\drivers.txt lihtsa seadme ja versiooni loendiga. Ideaalne kiireks vaatamiseks või aruandele lisamiseks ilma suurema vaevata.
Kui otsite filtreerimiseks ja sortimiseks midagi paremini hallatavat, on parim valik kasutada CSV ja Export-CSV cmdletVäga levinud näide oleks:
Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, FriendlyName, DriverVersion, DriverDate | Export-CSV -Path "./MisDrivers.csv" -NoTypeInformation
Selle käsuga luuakse fail nimega MinuDriverid.csv mida saab avada Excelis või mis tahes arvutustabeliprogrammis Sorteeri versiooni järgi, filtreeri draiveri kuupäeva järgi, otsi konkreetseid tootjaidJne
Kuigi mõnikord öeldakse, et PowerShell "ei luba draiverite loendit eksportida", siis tegelikkuses Jah, seda saab suurepäraselt eksportida. Kasutades väljundi ümbersuunamist või CSV eksporti, nagu just nägite. Seejärel saate seda teavet kopeerida, kleepida või sellega töötada kõikjal, kus soovite.
Draiverite filtreerimine tootja, nime või konkreetse teksti järgi
Tavaliselt ei ole soovitatav kõiki draivereid korraga näha, vaid keskenduda konkreetsele tootjale või seadmetüübile. Selleks saate filtrite aheldamine Where-Objectiga iga juhi omaduste kohta.
Näiteks kui olete huvitatud ainult draiverite säilitamisest IntelSa võiksid teha midagi nii lihtsat nagu:
Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, DriverVersion | Where-Object { $_.DeviceName -like "*Intel*" }
See käsk käib läbi kõik WMI tagastatud kirjed ja See haldab ainult neid, mille seadme nimi sisaldab stringi "Intel"Tärni kasutamine metamärgina võimaldab otsida osalisi vasteid kõikjal tekstis.
Sama ideed saab kasutada konkreetse rakenduse või riistvaratüübiga seotud draiverite leidmiseks, näiteks värskendage USB-draivereidKui teate osa nimest, tootjat või mingit marsruudi mustrit, saate kohandage filter kõige mugavamale omadusele igal juhul.
Draiverite kuvamine seadmehaldurist ja muudest Windowsi tööriistadest
Kuigi PowerShell on loendite automatiseerimiseks ja eksportimiseks väga võimas, pakub Windows siiski klassikalised graafilised tööriistad kontrollerite haldamiseks mis peaks olema teada ja ühendatud käsklusteega.
Esimene võrdluspunkt on SeadmehaldurSellele pääseb ligi paremklõpsates valikul „See arvuti” ja valides „Halda” või kiiremini, kasutades nupu Start kontekstimenüüd (Windows + X). Seal näete puud kõigi süsteemi installitud riistvarakategooriatega.
Seadmed, millel on paigaldus- või tööprobleeme, ilmuvad sageli koos kollane hoiatusikoonKui topeltklõpsate mõnel neist, avaneb omaduste aken, kus saate kontrollida seadme olekut ja avada vahekaardi "Draiver".
Sellelt vahekaardilt leiad valikud, näiteks „Draiveri üksikasjad“, „Värskenda draiverit“, „Varasema draiveri tagasipööramine“, „Keela“ või „Desinstalli“Need toimingud võimaldavad teil vaadata draiverifaile, otsida uusi versioone, naasta eelmisele versioonile, keelata seadme ilma seda eemaldamata või eemaldada draiveri süsteemist täielikult.
Lisaks neile tööriistadele sisaldab Windows ka käsku driverquery kasutama alates käsuviip (CMD). Jooksmine driverquery Saate nimekirja kõigist installitud draiveritest ja koos sellega driverquery /v Näete üksikasjalikumat teavet, näiteks mälukasutust, ehituskuupäeva või olekut.
driverquery ja selle seos PowerShelliga
Käsk driverquery on väga paindlik ja võimaldab Juhi oleku erinevate vaadete kuvamineNäiteks kui soovite üksikasjalikumalt loetleda ainult allkirjastatud draivereid, saate käivitada järgmise käsu:
driverquery /si
See režiim näitab allkirjastatud draiverid koos lisateabega turvaauditite või terviklikkuse kontrollide jaoks. Ja te võite alati konsulteerida driverquery /? et näha kõiki saadaolevaid parameetreid ja kohandada väljundit vastavalt oma vajadustele.
Üks driverquery eeliseid on see, et Saate selle PowerShelliga integreerida, kasutades ConvertFrom-CSV-dKui genereerite väljundi CSV-vormingus ja edastate selle, saate objekte, mida saab PowerShelli abil manipuleerida. Klassikaline näide oleks:
driverquery.exe /v /fo csv | ConvertFrom-CSV | Select-Object "Display Name", "Start Mode", "Paged Pool(bytes)", Path
Sellega ühendate DriverQuery võimsus PowerShelli andmete manipuleerimisegaAinult teid huvitavate veergude valimine: kuvatav nimi, käivitusrežiim, leheküljemälu ja draiveri tee kettal. See on kasulik, kui soovite filtreerida kindlate tüüpide järgi, näiteks graafika draiverid.
Tuleb märkida, et nii driverquery kui ka teatud standardsed WMI päringud keskenduvad peamiselt süsteemis registreeritud juhid, paljud neist laaditi saabas või hallatakse registri kaudu aadressil HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. Mõned draiverid, mis käivitamisel dünaamiliselt sisestatakse, ei pruugi nendes loendites kuvada.
Loetlege draiverid PowerShellist käsuga Get-WindowsDriver
Täiustatud stsenaariumide korral, eriti kui töötate Windowsi võrguühenduseta pildid (näiteks paigaldatud WIM-ide puhul) on cmdlet väga kasulik Get-WindowsDriver, mis on osa PowerShellis ligipääsetavatest DISM-tööriistadest.
See cmdlet-käsk võimaldab kuvada teavet nii töötava Windowsi installi kui ka kausta installitud pildi draiveripakettide kohta. Põhisüntaks jaguneb kaheks peamiseks kasutusviisiks: võrguühenduseta ja võrgus.
Sest kausta paigaldatud võrguühenduseta piltÜldine vorm oleks:
Get-WindowsDriver -Path "C:\offline"
Ja töötava süsteemi vastu töötamiseks kasutaksite parameetrit - Internetis:
Get-WindowsDriver -Online
Ilma täiendavate parameetriteta, Get-WindowsDriver tagastab kolmanda osapoole draiverite loendi pildil esinevad. Kui lisate modifikaatori - KõikSamuti näete Windowsis vaikimisi kaasasolevaid vaikedraivereid.
Get-WindowsDriveri põhiparameetrid
Üks olulisemaid parameetreid on -Juhtmis võimaldab teil täpsustada konkreetne .inf-fail või .inf-failide kaust Nende draiverite kohta üksikasjaliku teabe saamiseks. Kui osutate kaustale, ignoreeritakse automaatselt .inf-faile, mis ei ole kehtivad draiveripaketid.
Kui töötate võrguühenduseta pildiga, siis parameeter -Tee määrab paigaldatud pildi juurkataloogi tee. Kui Windowsi kaust ei asu sellel juurkataloogi tasemel, saate kasutada -Windowsi kataloog et määrata suhteline alamkaust, kus see asub.
Parameeter -SystemDrive Seda kasutatakse spetsiifilisemates olukordades, näiteks kui töötate Windows PE-st ja alglaadimishaldur asub teisel partitsioonil. Sellistel juhtudel on see mõeldud BootMgr-failidega draivi määramiseks, mida tuleks kätte toimetada.
Tegevuslogi puhul on parameeter -LogPath See võimaldab teil määrata logifaili täieliku tee. Kui te seda ei muuda, kasutatakse vaiketeed. %WINDIR%\Logs\Dism\dism.logvõi Windows PE-s RAM-i tühimikku. Samal ajal -LogLevel määrab logi üksikasjalikkuse, mille väärtused ulatuvad ainult vigadest kuni silumisteabe lisamiseni.
Lõpuks, parameeter -Scratch kataloog See on ajutine kaust, kuhu failid teenusetoimingute ajal lahti pakitakse. See peab olema kohalik tee ja kui toiming on lõpule viidud, ajutised failid Need eemaldatakse automaatselt, et jääke ei jääks.
Praktilised näited Get-WindowsDriveriga
Praeguse Windowsi installi kõigi draiverite kiireks kuvamiseks võite käivitada järgmise käsu:
Get-WindowsDriver -Online -All
See käsk kuvatakse kõik draiverid (nii süsteemi kui ka kolmanda osapoole draiverid) töötavas pildis olemas. See on väga otsene viis näha, millised paketid on installitud ilma WMI-d või seadmehaldurit kasutamata.
Kui te töötate koos pilt on paigaldatud kausta C:\offline Ja kui soovite kontrollida ainult kolmanda osapoole draivereid, saate teha järgmist.
Get-WindowsDriver -Path "C:\offline"
Kui soovite selle pildi konkreetse OEM-draiveri kohta üksikasjalikku aruannet, määrake lihtsalt .inf-fail:
Get-WindowsDriver -Path "C:\offline" -Driver "OEM1.inf"
Saate juurde pääseda isegi .inf-failile, mis asub kindlas draiveritees, näiteks:
Get-WindowsDriver -Path "C:\offline" -Driver "C:\drivers\Usb\Usb.inf"
Kõigil neil juhtudel Get-WindowsDriver tagastab objektid mille saate suunata Select-Object, Where-Object või Export-CSV kaudu teabe filtreerimiseks, sortimiseks või eksportimiseks teile kõige sobivamasse vormingusse.
PowerShell ja SCCM: Get-CMDriver draiverikataloogide jaoks
Kui haldate ettevõtte keskkonda koos Konfiguratsioonihaldur (SCCM)Sind huvitavad mitte ainult iga arvuti draiverid, vaid ka SCCM-i hallatav tsentraliseeritud draiverite kataloog piltide ja pakettide juurutamiseks.
Selles kontekstis tuleb mängu cmdlet. Get-CMDriverSee sobib Konfiguratsioonihalduri hallatavate seadmedraiverite teabe hankimineSellel cmdletil on mitu signatuuri, olenevalt sellest, mida soovite päringule määrata: nime, numbrilise identifikaatori, draiveripaketi või halduskategooria järgi.
Põhisüntaks sisaldab variante, näiteks:
Get-CMDriver
Get-CMDriver -DriverPackageId <String>
Get-CMDriver -DriverPackageName <String>
Get-CMDriver -Id <Int32>
Get-CMDriver -InputObject <IResultObject>
Nende parameetrite abil saate suunata oma päringud SCCM-i kataloogi, filtreerides vastavalt järgmisele: draiveri nimi, identifikaator, seotud paketid või halduskategooriad mille olete oma kontrollerite korraldamiseks määratlenud.
Näited funktsiooniga Get-CMDriver
Kui teate konkreetse draiveri nime, näiteks „Surface Serial Hub Driver”, saate selle üksikasjad hankida järgmiselt:
Get-CMDriver -Name "Surface Serial Hub Driver"
Kui teil on vaja kontrollida mitut draiverit, millel on nimes sama eesliide (näiteks kogu Surface'i draiverite perekond) ja soovite näha ainult mõningaid olulisi omadusi, saate kasutada midagi sellist:
Get-CMDriver -Fast -Name "Surface*" | Select-Object LocalizedDisplayName, DriverVersion, DriverDate
Modifikaator -Kiire See vähendab hangitud teabe hulka ja kiirendab päringut, mis on suurte kataloogide puhul üsna märgatav. Seejärel, Select-Object abil, Sa hoiad alles ainult need veerud, mis on sulle kasulikud teie analüüsi jaoks.
Kui haldate administratiivseid kategooriaid (näiteks kategooria „Pind”, kuhu rühmitate kõik need kontrollerid), saate kategooria ja draiveri otsingu aheldada järgmiselt:
$category = Get-CMCategory -Name "Surface"
Get-CMDriver -Fast -AdministrativeCategory $category
Sellisel juhul salvestate kategooria esmalt muutujasse ja seejärel palute funktsioonil Get-CMDriver see teile tagastada. kõik selle kategooriaga seotud kontrollerid, midagi väga kasulikku kontrollerite loogiliste vaadete haldamiseks SCCM-is.
Dünaamiliselt laaditud draiverite loetlemise piirangud
Kõik juhid ei käitu ühtemoodi. Selleks on olemas tööriistad, näiteks mõned komplektis. Sysinternals (näiteks Process Explorer või handle.exe)mis süstivad draiverid dünaamiliselt kerneli nende käivitamisel, registreerimata neid traditsiooniliste teenustena, mis laaditakse käivitamisel.
Tüüpiline näide on juht procexp152.sys (või varasemad versioonid, näiteks procexp113.sys), mis on seotud Process Exploreriga. Seda tüüpi draiver ei pruugi standardpäringutes ilmuda Get-WmiObject Win32_SystemDriverkuna need päringud tuginevad registriteenuste (CurrentControlSet\Services) teabele ja kajastavad tavaliselt peamiselt süsteemiga kaasasolevaid draivereid.
Samuti driverquery ei pruugi kuvada kõiki dünaamiliselt sisestatud draivereidSeega, kui silute BSOD-e või anomaalset käitumist, mille on põhjustanud kolmanda osapoole tööriistad, mis laadivad oma draivereid, peate võib-olla kasutama muid meetodeid.
Nende alternatiivide hulgas on uurima mälupilved tuum selliste tööriistadega nagu WinDbg või kasutage utiliite nagu verifitseerija.exeDraiveri kontrollija võimaldab teil valida draivereid, mida soovite jälgida ja ebastabiilset käitumist tuvastada, kuid graafiline liides pakub rohkem loendamise valikuid kui käsurea versioon, mis keskendub päringutele ja kontrollimise konfigureerimisele.
Lühidalt, üldise inventuuri ja enamiku haldusvajaduste jaoks PowerShell, WMI ja Get-WindowsDriver katavad alused väga hästi.Äärmuslikel juhtudel, kui on vaja kiiresti käivituvaid draivereid siluda, on aga vaja kasutada kerneli analüüsi tööriistu.
Draiverite värskendamine PowerShelli abil, kasutades PSWindowsUpdate'i
Lisaks draiverite loetlemisele kasutavad paljud administraatorid PowerShelli, et automatiseerida draiverite värskendusi Windows Update ja ka värskenda helidraivereidÜks levinud meetod on PSWindowsUpdate mooduli kaudu, mis laiendab standardseid värskenduscmdlette.
Tavaline vool läbib lubada ajutiselt allkirjastatud skriptide käivitamistPaigaldage moodul ja seejärel taotlege draiveri värskendusi otse Microsofti serveritest.
Tüüpiline käskude komplekt võib olla järgmine:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
Install-Module PSWindowsUpdate
Import-Module PSWindowsUpdate
Get-WindowsUpdate
Get-WindowsUpdate -MicrosoftUpdate -Category Driver -Install -AutoReboot
See jada lubab praeguse seansi skripti käivitamise, installib ja impordib PSWindowsUpdate mooduli. Sa kontrollid, millised uuendused on saadaval. Ja lõpuks taotlete nende installimist kategooriast "Draiver" Microsoft Update'i kaudu, mis võimaldab süsteemil vajadusel automaatselt taaskäivituda.
Samuti saate ulatust laiendada käsuga, mis installib kõik Microsoft Update'ist tuvastatud värskendused ja taaskäivitab arvuti sekkumiseta, näiteks:
Get-WindowsUpdate -MicrosoftUpdate -Install -AutoReboot
See töömeetod on eriti praktiline suured meeskonnapargidSiinkohal on oluline draiveriversioonid standardiseerida ilma neid ükshaaval proovimata. Siiski on alati soovitatav seda kombineerida hea eelneva draiverite inventuuriga ja kriitilistes keskkondades testida neid enne kogu organisatsioonile juurutamist pilootgrupis.
Kirglik kirjanik baitide maailmast ja üldse tehnoloogiast. Mulle meeldib jagada oma teadmisi kirjutamise kaudu ja just seda ma selles ajaveebis teengi, näitan teile kõike kõige huvitavamat vidinate, tarkvara, riistvara, tehnoloogiliste suundumuste ja muu kohta. Minu eesmärk on aidata teil digimaailmas lihtsal ja meelelahutuslikul viisil navigeerida.
