Како навести и управљати драјверима из PowerShell-а у Windows-у

Последње ажурирање: 04/12/2025
Аутор: Исак
  • ПоверСхелл Омогућава вам да наведете, филтрирате и извезете возачи помоћу командлета као што су Get-WmiObject и Get-WindowsDriver.
  • драјверкуери, Управитељ уређаја и SCCM (Get-CMDriver) допуњују инвентар контролера.
  • Неки динамички учитани драјвери захтевају додатне алате као што су WinDbg или verifier.
  • Модули попут PSWindowsUpdate и екстерни услужни програми олакшавају ажурирање и одржавање драјвера ажурним.

Наведите драјвере из PowerShell-а

У Windows окружењима, контролише који су драјвери инсталирани и коју верзију сваки од њих има Кључно је за одржавање стабилности система, решавање проблема са плавим екранима или припрему за миграције. PowerShell је постао невероватно практичан алат за обављање ове врсте инвентаризације без потребе да се један по један пролази кроз Управитељ уређаја.

У следећим редовима видећете Како на различите начине навести контролере из PowerShell-а и како их експортовати до датотека да их мирно анализирају, које су разлике у односу на друге команде као дриверкуери или графичке алате, па чак и како се носити са напреднијим сценаријима као што су офлајн слике или динамички учитани драјвери.

Шта је драјвер и зашто бисте желели да га наведете из PowerShell-а?

Управљачки програми уређаја у оперативном систему Windows

У оперативном систему Windows, контролер или драјвер је мали блок софтвера који делује као посредник између оперативног система и компоненте хардвер (графичка картица, чипсет, складиштењепериферни уређаји УСБитд.). Иако код који заузимају није огроман, њихов утицај на стабилност система је огроман.

Када критични покретач (на пример, складиште, мрежа, графика или чипсет) кварови, могу изазвати падове, губитак перформанси, па чак и плави екрани (БСОД)Зато је јасна листа инсталираних драјвера и њихових верзија толико корисна када отклањате грешке или се припремате за велико ажурирање.

Пре него што пожурите да промените, деинсталирате или вратите старе драјвере, добра је идеја минимизирајте ризике помоћу тачке враћања системаНа овај начин можете вратити се ако ажурирање драјвера крене наопако и рачунар почне чудно да се понаша или се чак ни не покреће исправно.

Поред ресторана, препоручљиво је направите резервну копију важних података (документи, фотографије, радни пројекти итд.), посебно ако ћете додиривати драјвере за складиштење података, јер грешка може довести до тога да систем не монтира правилно дискове или да оштети информације.

Основна команда у PowerShell-у за навођење инсталираних драјвера

Најдиректнији начин за добијање инвентара контролера из PowerShell-а је ослања се на WMIЈедна од најчешће коришћених команди је:

Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, DriverVersion

Са овом командлетом, PowerShell упите WMI класу Win32_PnPSignedDriver и враћа листу потписаних PnP драјвера, заједно са именом уређаја и верзијом драјвера коју систем тренутно има повезану са њим.

Ако желите мало више контекста о сваком драјверу, можете додати поља као што су пријатељско име, датум објављивања или произвођач. На пример:

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

Овим консултацијама ћете добити Много потпуније информације за сваки уносОво вам омогућава да откријете старије верзије, одређене произвођаче или драјвере који нису ажурирани годинама.

Како извести листу драјвера у датотеку (TXT или CSV)

У стварним условима, само гледање листе на екрану ретко је довољно. Најпогоднији приступ је... сачувајте резултат у датотеку да га анализирате у Екселу, поделите са тимом или га сачувате као снимак стања система пре него што направите било какве измене, на пример, пре обришите старе драјвере.

Ако вам је потребан само брзи списак у обичном тексту, можете преусмерити излаз у датотеку:

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

Та команда креира датотеку C:\drivers.txt са једноставним списаком уређаја и верзија. Идеално за брзо референцирање или прилагање извештају без превише муке.

Када тражите нешто што је лакше за филтрирање и сортирање, најбоља опција је да користите CSV и командлет Export-CSVВеома чест пример би био:

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

Овом командом, датотека под називом МојиВозачи.csv које можете отворити у Екселу или било ком програму за табеларне прорачуне сортирај по верзији, филтрирај по датуму драјвера, претражи одређене произвођаче, Итд

Иако се понекад каже да PowerShell „не дозвољава извоз“ листе драјвера, у стварности Да, може се савршено извозити. Коришћењем преусмеравања излаза или Export-CSV, као што сте управо видели. Затим можете копирати, налепити или радити са тим информацијама где год желите.

  25 невероватних алата за издвајање аудио датотека из видео записа

Филтрирајте драјвере по произвођачу, имену или одређеном тексту

Обично нећете желети да видите све драјвере одједном, већ да се фокусирате на одређеног произвођача или тип уређаја. За то можете уланчавање филтера помоћу Where-Object о својствима сваког драјвера.

На пример, ако сте заинтересовани да задржите само драјвере за интелМогли бисте да урадите нешто једноставно као:

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

Ова команда итеративно пролази кроз све уносе које враћа WMI и Одржава само оне чије име уређаја садржи стринг „Intel“Коришћење звездице као џокера вам омогућава да претражујете делимична подударања било где у тексту.

Иста идеја се може користити за проналажење драјвера повезаних са одређеном апликацијом или типом хардвера, на пример за ажурирајте УСБ драјвереАко знате део имена, произвођача или неки образац руте, можете прилагодите филтер најпријатнијој некретнини у сваком случају.

Прегледајте драјвере из Управитеља уређаја и других Windows алата

Иако је PowerShell веома моћан за аутоматизацију и извоз листа, Windows и даље нуди класични графички алати за управљање контролерима који треба да буде познат и комбинован са путањом команде.

Прва референтна тачка је Управитељ уређајаОвоме се може приступити тако што ћете кликнути десним тастером миша на „Овај рачунар“ и изабрати „Управљање“ или брже користити контекстни мени дугмета Старт (Windows + X). Тамо ћете видети стабло са свим категоријама хардвера инсталираним на систему.

Уређаји који имају проблеме са инсталацијом или радом често се појављују са жута икона упозорењаАко двапут кликнете на било који од њих, отвара се прозор са својствима, где можете проверити статус уређаја и приступити картици „Драјвер“.

Унутар те картице наћи ћете опције као што су „Детаљи драјвера“, „Ажурирај драјвер“, „Врати стари драјвер“, „Онемогући“ или „Деинсталирај“Ове радње вам омогућавају да прегледате датотеке драјвера, претражите нове верзије, вратите се на претходну верзију, онемогућите уређај без његовог уклањања или потпуно уклоните драјвер из система.

Поред ових алата, Windows укључује и команду дриверкуери да се користи од командни редак (ЦМДТрчање driverquery Добићете листу свих инсталираних драјвера, и са driverquery /v Видећете детаљније информације, као што су коришћење меморије, датум израде или статус.

driverquery и његов однос са PowerShell-ом

Команда driverquery је веома флексибилна и омогућава Погледајте различите приказе статуса возачаНа пример, ако желите да детаљније наведете само потписане драјвере, можете покренути:

driverquery /si

Овај режим приказује потписани возачи са додатним корисним информацијама за безбедносне ревизије или провере интегритета. И увек можете да се консултујете driverquery /? да бисте видели све доступне параметре и прилагодили излаз својим потребама.

Једна од предности driverquery-ја је то што Можете га интегрисати са PowerShell-ом користећи ConvertFrom-CSVАко генеришете излаз у CSV формату и проследите га путем канала (pipe-а), добићете објекте којима се може манипулисати из PowerShell-а. Класичан пример би био:

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

Са овим комбинујете Моћ driverquery-ја са манипулацијом PowerShell подацимаИзбор само колона које вас занимају: приказано име, режим покретања, страничена меморија и путања драјвера на диску. Ово је корисно када желите да филтрирате по одређеним типовима, као што су графички драјвери.

Треба напоменути да се и driverquery и одређени стандардни WMI упити првенствено фокусирају на возачи регистровани у систему, многи од њих су се утоварили у боот или се управља преко регистра на HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. Неки драјвери који се динамички убризгавају током извршавања можда се неће појавити на овим листама.

Наведите драјвере из PowerShell-а помоћу Get-WindowsDriver-а

За напредније сценарије, посебно када се ради са Слике за Windows ван мреже (на пример, монтирани WIM-ови), cmdlet је веома користан Get-WindowsDriver, што је део DISM алата доступних из PowerShell-а.

Ова cmdlet команда вам омогућава да прикажете информације о пакетима драјвера и за покренуту Windows инсталацију и за слику монтирану у фасциклу. Главна синтакса је подељена на два главна начина коришћења: офлајн и онлајн.

  Како корак по корак обрисати датотеке које се користе у оперативном систему Windows

За један офлајн слика монтирана у фасциклуОпшти облик би био:

Get-WindowsDriver -Path "C:\offline"

А да бисте радили против покренутог система, користили бисте параметар -Он-лине:

Get-WindowsDriver -Online

Без додатних параметара, Get-WindowsDriver враћа листу драјвера трећих страна присутно на слици. Ако додате модификатор -СвеТакође ћете видети подразумеване драјвере који су подразумевано укључени у оперативни систем Windows.

Кључни параметри Get-WindowsDriver-а

Један од најважнијих параметара је -Возачшто вам омогућава да наведете одређена .inf датотека или фасцикла са .inf датотекама Да бисте добили детаљне информације о тим драјверима. Ако укажете на фасциклу, .inf датотеке које нису важећи пакети драјвера се аутоматски игноришу.

Када радите са офлајн сликом, параметар -Пут одређује коренску путању монтиране слике. Ако Windows фасцикла није одмах на том коренском нивоу, можете користити -Windows директоријум да бисте навели релативну подфасциклу у којој се налази.

Параметар -Системски погон Користи се у специфичнијим сценаријима, као што је рад из Windows PE-а, а менаџер покретања се налази на другој партицији. У тим случајевима, служи за одређивање диска који садржи BootMgr датотеке које треба да се покрећу.

Што се тиче дневника активности, параметар -Путања_дневника Омогућава вам да дефинишете пуну путању до датотеке дневника. Ако је не подесите, користи се подразумевана путања. %WINDIR%\Logs\Dism\dism.logили у Windows PE-у, простор за почетне податке у RAM-у. У међувремену, -LogLevel одређује детаљност дневника, са вредностима које се крећу од само грешака до укључивања информација о отклањању грешака.

Коначно, параметар -Именик за почетнике Ово је привремена фасцикла у коју се датотеке распакују током сервисних операција. Мора бити локална путања и, када се операција заврши, привремене датотеке Аутоматски се уклањају како не би остали остаци.

Практични примери са Get-WindowsDriver-ом

Да бисте брзо видели све драјвере за вашу тренутну инсталацију оперативног система Windows, можете покренути:

Get-WindowsDriver -Online -All

Ова команда ће се показати сви драјвери (и системски и трећих страна) присутан у покренутој слици. То је веома директан начин да се види који су пакети инсталирани без коришћења WMI-ја или Управитеља уређаја.

Ако радите са а слика монтирана у C:\offline А ако желите само да проверите драјвере трећих страна, можете да урадите следеће:

Get-WindowsDriver -Path "C:\offline"

Ако желите детаљан извештај о одређеном OEM драјверу унутар те слике, једноставно наведите .inf датотеку:

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

Можете чак приступити и .inf датотеци која се налази у одређеној путањи драјвера, на пример:

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

У свим овим случајевима, Get-WindowsDriver враћа објекте које можете проследити ка Select-Object, Where-Object или Export-CSV да бисте филтрирали, сортирали или извезли информације у формат који вам највише одговара.

PowerShell и SCCM: Get-CMDriver за каталоге драјвера

Када управљате корпоративним окружењем са Менаџер конфигурације (SCCM)Нисте заинтересовани само за драјвере на сваком рачунару, већ и за централизовани каталог драјвера који SCCM одржава за имплементацију слика и пакета.

У том контексту, cmdlet долази до изражаја. Get-CMDriver, То ради за Преузмите информације из драјвера уређаја којима управља Configuration ManagerОва cmdlet команда има неколико потписа у зависности од тога шта желите да испитате: по имену, по нумеричком идентификатору, по пакету драјвера или по административној категорији.

Основна синтакса укључује варијанте као што су:

Get-CMDriver

Get-CMDriver -DriverPackageId <String>

Get-CMDriver -DriverPackageName <String>

Get-CMDriver -Id <Int32>

Get-CMDriver -InputObject <IResultObject>

Са овим параметрима можете усмерити своје упите ка SCCM каталогу, филтрирајући по име драјвера, идентификатор, повезани пакети или административне категорије које сте дефинисали да бисте организовали своје контролере.

Примери са Get-CMDriver-ом

Ако знате име одређеног драјвера, на пример „Surface Serial Hub Driver“, можете добити његове детаље помоћу:

Get-CMDriver -Name "Surface Serial Hub Driver"

Када треба да проверите неколико драјвера који деле исти префикс у свом имену (као што је цела породица драјвера за Surface) и желите да видите само нека релевантна својства, можете користити нешто попут:

  Добивање није успело – грешка неадекватне дозволе у ​​Цхроме-у

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

Модификатор -Брзо Смањује количину преузетих информација и убрзава упит, што је прилично приметно у великим каталозима. Затим, помоћу Select-Object, Задржавате само колоне које су вам корисне за вашу анализу.

Ако управљате административним категоријама (на пример, категоријом „Површина“ где групишете све те контролере), можете повезати преузимање категорија и драјвера на овај начин:

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

У овом случају, прво чувате категорију у променљивој, а затим тражите од Get-CMDriver-а да вам је врати. сви контролери повезани са том категоријом, нешто веома корисно за одржавање логичких приказа ваших контролера у SCCM-у.

Ограничења при навођењу динамички учитаних драјвера

Не понашају се сви драјвери исто. Постоје алати, као што су неки у пакету. Sysinternals (на пример, Process Explorer или handle.exe)који динамички убризгавају драјвере у језгро када се извршавају, без њиховог регистровања као традиционалних сервиса који се учитавају при покретању.

Типичан пример је возач procexp152.sys (или старије верзије као што је procexp113.sys), повезане са Process Explorer-ом. Ова врста драјвера се можда неће појавити у стандардним упитима програма Get-WmiObject Win32_SystemDriverпошто се ови упити ослањају на информације из сервиса регистра (CurrentControlSet\Services) и обично одражавају углавном драјвере који су учитани са системом.

Исто тако, driverquery можда не приказује све динамички убризгане драјвереДакле, ако отклањате грешке у BSOD-има или аномалном понашању узрокованом алатима трећих страна који учитавају сопствене драјвере, можда ћете морати да прибегнете другим методама.

Међу тим алтернативама су испитати меморијске депоније кернел помоћу алата као што је WinDbg или користите услужне програме као што су верифиер.екеВерификатор драјвера вам омогућава да изаберете драјвере које желите да пратите и детектујете нестабилно понашање, али графички интерфејс нуди више опција за набрајање него верзија командне линије, која се фокусира на упите и конфигурисање верификације.

Укратко, за општи инвентар и за већину административних потреба, PowerShell, WMI и Get-WindowsDriver веома добро покривају основе.Међутим, у екстремним случајевима отклањања грешака у драјверима који се тренутно учитавају, мораћете да допуните алате за анализу језгра.

Ажурирајте драјвере помоћу PowerShell-а користећи PSWindowsUpdate

Поред навођења драјвера, многи администратори користе PowerShell за аутоматизовати ажурирања драјвера путем Виндовс Упдате и такође за ажурирајте драјвере за звукЈедна често коришћена метода је путем модула PSWindowsUpdate, који проширује стандардне командне команде за ажурирање.

Уобичајени ток пролази кроз привремено омогући извршавање потписаних скриптиИнсталирајте модул, а затим затражите ажурирања драјвера директно са Мајкрософтових сервера.

Типичан скуп команди може бити:

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

Ова секвенца омогућава извршавање скрипте за тренутну сесију, инсталира и увози модул PSWindowsUpdate, Проверавате која су ажурирања доступна. И на крају, захтевате да се инсталирају из категорије „Драјвер“ путем Microsoft Update-а, омогућавајући систему да се аутоматски поново покрене ако је потребно.

Такође можете проширити опсег коришћењем команде која инсталира сва ажурирања откривена из Microsoft Update-а и поново покреће систем без интервенције, на пример:

Get-WindowsUpdate -MicrosoftUpdate -Install -AutoReboot

Овај начин рада је посебно практичан у велики тимски парковиОвде желите да стандардизујете верзије драјвера, а да не идете једну по једну. Међутим, увек је препоручљиво комбиновати ово са добрим претходним инвентаром драјвера и, у критичним окружењима, тестирати у пилот групи пре примене на целу организацију.

Проблеми са Windows периферним уређајима и драјверима
Повезани чланак:
Комплетан водич за уклањање духовних уређаја и осироћених драјвера у оперативном систему Windows