Bagaimana untuk menyenaraikan dan mengurus pemacu daripada PowerShell dalam Windows

Kemaskini terakhir: 04/12/2025
Pengarang Ishak
  • PowerShell Ia membolehkan anda menyenaraikan, menapis dan mengeksport pemandu dengan cmdlet seperti Get-WmiObject dan Get-WindowsDriver.
  • pertanyaan pemandu, yang Pengurus Peranti dan SCCM (Get-CMDriver) melengkapkan inventori pengawal.
  • Sesetengah pemacu yang dimuatkan secara dinamik memerlukan alat tambahan seperti WinDbg atau pengesah.
  • Modul seperti PSWindowsUpdate dan utiliti luaran memudahkan untuk mengemas kini dan memastikan pemacu dikemas kini.

Senaraikan pemacu daripada PowerShell

Dalam persekitaran Windows, mengawal pemacu yang dipasang dan versi yang masing-masing mempunyai Ini adalah kunci untuk mengekalkan kestabilan sistem, menyelesaikan masalah skrin biru atau bersedia untuk pemindahan. PowerShell telah menjadi alat yang sangat mudah untuk melaksanakan jenis inventori ini tanpa perlu melalui Pengurus Peranti satu demi satu.

Dalam baris berikut anda akan lihat Cara menyenaraikan pengawal daripada PowerShell dalam pelbagai cara, dan cara mengeksportnya ke fail untuk menganalisisnya dengan tenang, apakah perbezaan yang ada dengan orang lain arahan sebagai pertanyaan pemandu atau alatan grafik, dan juga cara mengendalikan senario yang lebih maju seperti imej luar talian atau pemacu yang dimuatkan secara dinamik.

Apakah pemacu dan mengapa anda ingin menyenaraikannya daripada PowerShell?

Pemacu peranti dalam Windows

Dalam Windows, pengawal atau pemandu adalah blok kecil perisian yang bertindak sebagai perantara antara sistem pengendalian dan komponen perkakasan (kad grafik, chipset, penyimpananpersisian USBdll.). Walaupun kod yang mereka duduki tidak begitu besar, kesannya terhadap kestabilan sistem adalah sangat besar.

Apabila pemandu kritikal (contohnya, storan, rangkaian, grafik atau set cip) kerosakan, boleh menyebabkan ranap, kehilangan prestasi dan juga skrin biru (BSOD)Itulah sebabnya mempunyai senarai jelas pemacu yang dipasang dan versinya sangat berguna apabila anda menyahpepijat pepijat atau bersiap untuk kemas kini utama.

Sebelum anda tergesa-gesa menukar, menyahpasang atau memutar balik pemacu, ini adalah idea yang baik meminimumkan risiko dengan titik pemulihan sistemDengan cara ini anda boleh kembali jika kemas kini pemacu menjadi salah dan komputer mula berkelakuan pelik atau tidak boot dengan betul.

Sebagai tambahan kepada restoran, adalah dinasihatkan sandarkan data penting (dokumen, foto, projek kerja, dsb.), terutamanya jika anda akan menyentuh pemacu storan, kerana kesilapan boleh menyebabkan sistem tidak melekapkan pemacu dengan betul atau maklumat yang rosak.

Perintah asas dalam PowerShell untuk menyenaraikan pemacu yang dipasang

Cara paling langsung untuk mendapatkan inventori pengawal daripada PowerShell ialah bergantung pada WMISalah satu arahan yang paling biasa digunakan ialah:

Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, DriverVersion

Dengan cmdlet ini, PowerShell menanyakan kelas Win32_PnPSignedDriver WMI dan mengembalikan senarai pemacu PnP yang ditandatangani, bersama-sama dengan nama peranti dan versi pemacu yang sistem dikaitkan dengannya pada masa ini.

Jika anda mahukan sedikit lagi konteks tentang setiap pemandu, anda boleh menambah medan seperti nama mesra, tarikh penerbitan atau pengilang. Sebagai contoh:

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

Dengan perundingan ini, anda akan memperoleh Maklumat yang lebih lengkap untuk setiap penyertaanIni membolehkan anda mengesan versi lama, pengeluar tertentu atau pemacu yang tidak dikemas kini selama bertahun-tahun.

Bagaimana untuk mengeksport senarai pemacu ke fail (TXT atau CSV)

Dalam tetapan dunia sebenar, hanya melihat senarai pada skrin jarang mencukupi. Pendekatan yang paling mudah ialah... simpan hasilnya ke dalam fail untuk menganalisisnya dalam Excel, berkongsi dengan pasukan atau menyimpannya sebagai gambaran keadaan sistem sebelum membuat sebarang perubahan, contohnya, sebelum padam pemacu lama.

Jika anda hanya memerlukan penyenaraian teks biasa yang pantas, anda boleh mengubah hala output ke fail:

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

Perintah itu mencipta fail C:\drivers.txt dengan penyenaraian peranti dan versi yang mudah. Sesuai untuk rujukan pantas atau dilampirkan pada laporan tanpa terlalu banyak kerumitan.

Apabila anda mencari sesuatu yang lebih mudah diurus untuk menapis dan mengisih, pilihan terbaik ialah menggunakan CSV dan cmdlet Eksport-CSVContoh yang sangat biasa ialah:

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

Dengan arahan ini, fail bernama MyDrivers.csv yang boleh anda buka dalam Excel atau mana-mana program hamparan susun mengikut versi, tapis mengikut tarikh pemandu, cari pengeluar tertentu, Dll

Walaupun kadangkala dikatakan bahawa PowerShell "tidak membenarkan mengeksport" senarai pemacu, sebenarnya Ya, ia boleh dieksport dengan sempurna. Menggunakan ubah hala keluaran atau Eksport-CSV, seperti yang baru anda lihat. Kemudian anda boleh menyalin, menampal atau bekerja dengan maklumat itu di mana sahaja anda mahu.

  25 Alat Hebat untuk Mengekstrak Fail Audio daripada Video

Tapis pemacu mengikut pengilang, nama atau teks tertentu

Biasanya, anda tidak mahu melihat semua pemacu sekali gus, sebaliknya fokus pada pengeluar atau jenis peranti tertentu. Untuk itu, anda boleh merantai penapis dengan Where-Object tentang sifat setiap pemandu.

Contohnya, jika anda berminat untuk menyimpan hanya pemandu untuk IntelAnda boleh melakukan sesuatu yang mudah seperti:

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

Perintah ini berulang melalui semua entri yang dikembalikan oleh WMI dan Ia hanya mengekalkan mereka yang nama perantinya mengandungi rentetan "Intel"Menggunakan asterisk sebagai kad bebas membolehkan anda mencari padanan separa di mana-mana sahaja dalam teks.

Idea yang sama boleh digunakan untuk mencari pemacu yang berkaitan dengan aplikasi atau jenis perkakasan tertentu, contohnya untuk kemas kini pemacu USBJika anda tahu sebahagian daripada nama, pengilang atau beberapa corak laluan, anda boleh sesuaikan penapis dengan harta yang paling selesa dalam setiap kes.

Lihat pemacu daripada Pengurus Peranti dan alatan Windows yang lain

Walaupun PowerShell sangat berkuasa untuk mengautomasikan dan mengeksport senarai, Windows masih menawarkan alat grafik klasik untuk mengurus pengawal yang harus diketahui dan digabungkan dengan laluan arahan.

Titik rujukan pertama ialah Pengurus PerantiIni boleh diakses dengan mengklik kanan pada "PC ini" dan memilih "Urus," atau lebih cepat menggunakan menu konteks butang Mula (Windows + X). Di sana anda akan melihat pokok dengan semua kategori perkakasan dipasang pada sistem.

Peranti yang mempunyai masalah pemasangan atau operasi sering muncul ikon amaran kuningJika anda mengklik dua kali pada mana-mana daripadanya, tetingkap sifat terbuka, di mana anda boleh menyemak status peranti dan mengakses tab "Pemandu".

Dalam tab itu anda akan menemui pilihan seperti "Butiran pemandu", "Kemas kini pemacu", "Kembali pemandu", "Lumpuhkan" atau "Nyahpasang"Tindakan ini membolehkan anda melihat fail pemacu, mencari versi baharu, kembali kepada versi sebelumnya, melumpuhkan peranti tanpa mengalih keluarnya atau mengalih keluar sepenuhnya pemacu daripada sistem.

Sebagai tambahan kepada alat ini, Windows menyertakan arahan pertanyaan pemandu untuk digunakan daripada arahan segera (CMD). Berlari driverquery Anda akan mendapat senarai semua pemacu yang dipasang, dan dengan driverquery /v Anda akan melihat maklumat yang lebih terperinci, seperti penggunaan memori, tarikh binaan atau status.

pertanyaan pemandu dan hubungannya dengan PowerShell

Perintah driverquery sangat fleksibel dan membolehkan Lihat pandangan berbeza status pemanduSebagai contoh, jika anda ingin menyenaraikan hanya pemacu yang ditandatangani dengan lebih terperinci, anda boleh menjalankan:

driverquery /si

Mod ini menunjukkan pemandu yang ditandatangani dengan maklumat berguna tambahan untuk audit keselamatan atau semakan integriti. Dan anda sentiasa boleh berunding driverquery /? untuk melihat semua parameter yang tersedia dan melaraskan output mengikut keperluan anda.

Salah satu kelebihan driverquery ialah Anda boleh menyepadukannya dengan PowerShell menggunakan ConvertFrom-CSVJika anda menjana output dalam format CSV dan menyalurkannya, anda akan memperoleh objek yang boleh dimanipulasi daripada PowerShell. Contoh klasik ialah:

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

Dengan ini anda gabungkan Kuasa pertanyaan pemandu dengan manipulasi data PowerShellMemilih hanya lajur yang anda minati: nama paparan, mod permulaan, memori halaman dan laluan pemacu pada cakera. Ini berguna apabila anda ingin menapis mengikut jenis tertentu, seperti pemacu grafik.

Perlu diingatkan bahawa kedua-dua pertanyaan pemandu dan pertanyaan WMI standard tertentu tertumpu terutamanya pada pemandu yang didaftarkan dalam sistem, banyak daripada mereka dimuatkan ke dalam boot atau diuruskan melalui pendaftaran di HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. Sesetengah pemacu yang disuntik secara dinamik pada masa jalan mungkin tidak muncul dalam senarai ini.

Senaraikan pemacu daripada PowerShell dengan Get-WindowsDriver

Untuk senario yang lebih maju, terutamanya apabila bekerja dengan Imej luar talian Windows (contohnya, WIM yang dipasang), cmdlet sangat berguna Dapatkan-WindowsDriver, yang merupakan sebahagian daripada alat DISM yang boleh diakses daripada PowerShell.

Cmdlet ini membolehkan anda memaparkan maklumat tentang pakej pemacu untuk kedua-dua pemasangan Windows yang sedang berjalan dan imej yang dipasang dalam folder. Sintaks utama dibahagikan kepada dua mod penggunaan utama: luar talian dan dalam talian.

  Bagaimana untuk memadam fail yang digunakan dalam Windows langkah demi langkah

Untuk satu imej luar talian yang dipasang dalam folderBentuk umum ialah:

Get-WindowsDriver -Path "C:\offline"

Dan untuk bekerja menentang sistem yang sedang berjalan, anda akan menggunakan parameter -Dalam talian:

Get-WindowsDriver -Online

Tanpa parameter tambahan, Get-WindowsDriver mengembalikan senarai pemacu pihak ketiga terdapat dalam imej. Jika anda menambah pengubah suai -SemuaAnda juga akan melihat pemacu lalai disertakan secara lalai dalam Windows.

Parameter utama Get-WindowsDriver

Salah satu parameter yang paling penting ialah -Pemanduyang membolehkan anda menentukan fail .inf tertentu atau folder fail .inf Untuk mendapatkan maklumat terperinci tentang pemandu tersebut. Jika anda menunjuk ke folder, fail .inf yang bukan pakej pemacu yang sah akan diabaikan secara automatik.

Apabila anda bekerja dengan imej luar talian, parameter -Laluan menentukan laluan akar imej yang dipasang. Jika folder Windows tidak betul pada tahap akar itu, anda boleh gunakan -Direktori Windows untuk menentukan subfolder relatif di mana ia berada.

Parameter -SystemDrive Ia digunakan dalam senario yang lebih khusus, seperti semasa bekerja dari Windows PE dan pengurus but berada pada partition yang berbeza. Dalam kes ini, ia berfungsi untuk menentukan pemacu yang mengandungi fail BootMgr yang perlu disampaikan.

Mengenai log aktiviti, parameter -LogPath Ia membolehkan anda menentukan laluan penuh ke fail log. Jika anda tidak melaraskannya, laluan lalai digunakan. %WINDIR%\Logs\Dism\dism.logatau dalam Windows PE, ruang calar dalam RAM. Sementara itu, -Tahap Log menentukan verbositi log, dengan nilai yang terdiri daripada hanya ralat untuk memasukkan maklumat penyahpepijatan.

Akhirnya, parameter -Direktori Gores Ini ialah folder sementara di mana fail diekstrak semasa operasi perkhidmatan. Ia mestilah laluan tempatan dan, setelah operasi selesai, laluan itu fail sementara Ia dikeluarkan secara automatik untuk tidak meninggalkan sisa.

Contoh praktikal dengan Get-WindowsDriver

Untuk melihat semua pemacu untuk pemasangan Windows semasa anda dengan cepat, anda boleh menjalankan:

Get-WindowsDriver -Online -All

Perintah ini akan menunjukkan semua pemandu (kedua-dua sistem dan pihak ketiga) hadir dalam imej yang sedang berjalan. Ini adalah cara yang sangat langsung untuk melihat pakej yang dipasang tanpa menggunakan WMI atau Pengurus Peranti.

Jika anda bekerja dengan a imej dipasang dalam C:\luar talian Dan jika anda hanya ingin menyemak pemacu pihak ketiga, anda boleh melakukan perkara berikut:

Get-WindowsDriver -Path "C:\offline"

Jika anda mahukan laporan terperinci pemacu OEM tertentu dalam imej itu, hanya nyatakan fail .inf:

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

Anda juga boleh mengakses fail .inf yang terletak dalam laluan pemacu tertentu, contohnya:

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

Dalam semua kes ini, Get-WindowsDriver mengembalikan objek yang anda boleh paipkan ke Select-Object, Where-Object atau Export-CSV untuk menapis, mengisih atau mengeksport maklumat ke format yang paling sesuai dengan anda.

PowerShell dan SCCM: Get-CMDriver untuk katalog pemandu

Apabila anda menguruskan persekitaran korporat dengan Pengurus Konfigurasi (SCCM)Anda bukan sahaja berminat dengan pemacu pada setiap komputer, tetapi juga dalam katalog pemacu terpusat yang diselenggarakan oleh SCCM untuk menggunakan imej dan pakej.

Dalam konteks itu, cmdlet mula dimainkan. Dapatkan-CMDriver, Itu berfungsi untuk Dapatkan maklumat daripada pemacu peranti yang diuruskan oleh Pengurus KonfigurasiCmdlet ini mempunyai beberapa tandatangan bergantung pada perkara yang anda ingin tanyakan: mengikut nama, mengikut pengecam berangka, mengikut pakej pemandu atau mengikut kategori pentadbiran.

Sintaks asas termasuk varian seperti:

Get-CMDriver

Get-CMDriver -DriverPackageId <String>

Get-CMDriver -DriverPackageName <String>

Get-CMDriver -Id <Int32>

Get-CMDriver -InputObject <IResultObject>

Dengan parameter ini, anda boleh mengarahkan pertanyaan anda ke katalog SCCM, menapis mengikut nama pemandu, pengecam, pakej yang berkaitan atau kategori pentadbiran yang telah anda tentukan untuk mengatur pengawal anda.

Contoh dengan Get-CMDriver

Jika anda mengetahui nama pemandu tertentu, contohnya "Pemandu Hab Bersiri Permukaan", anda boleh mendapatkan butirannya dengan:

Get-CMDriver -Name "Surface Serial Hub Driver"

Apabila anda perlu menyemak beberapa pemacu yang berkongsi awalan yang sama dalam nama mereka (seperti keseluruhan keluarga pemacu Surface) dan anda hanya mahu melihat beberapa sifat yang berkaitan, anda boleh menggunakan sesuatu seperti:

  Gagal Mendapatkan – Ralat Kebenaran Tidak Mencukupi dalam Chrome

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

Pengubah suai -Cepat Ia mengurangkan jumlah maklumat yang diambil dan mempercepatkan pertanyaan, yang agak ketara dalam katalog besar. Kemudian, dengan Select-Object, Anda hanya menyimpan lajur yang berguna kepada anda untuk analisis anda.

Jika anda mengurus kategori pentadbiran (contohnya, kategori "Permukaan" tempat anda mengumpulkan semua pengawal tersebut), anda boleh kategori rantaian dan pengambilan semula pemandu seperti ini:

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

Dalam kes ini, anda mula-mula menyimpan kategori dalam pembolehubah dan kemudian meminta Get-CMDriver untuk mengembalikannya kepada anda semua pengawal yang dikaitkan dengan kategori itu, sesuatu yang sangat berguna untuk mengekalkan pandangan logik pengawal anda dalam SCCM.

Had apabila menyenaraikan pemacu yang dimuatkan secara dinamik

Tidak semua pemandu berkelakuan sama. Terdapat alatan, seperti beberapa dalam suite. Sysinternals (contohnya, Process Explorer atau handle.exe)yang secara dinamik menyuntik pemacu ke dalam kernel apabila ia dilaksanakan, tanpa mendaftarkannya sebagai perkhidmatan tradisional yang dimuatkan pada permulaan.

Contoh biasa ialah pemandu procexp152.sys (atau versi terdahulu seperti procexp113.sys), dikaitkan dengan Process Explorer. Pemacu jenis ini mungkin tidak muncul dalam pertanyaan standard Get-WmiObject Win32_SystemDrivermemandangkan pertanyaan ini bergantung pada maklumat daripada perkhidmatan pendaftaran (CurrentControlSet\Services) dan biasanya mencerminkan terutamanya pemacu yang dimuatkan dengan sistem.

Begitu juga, driverquery mungkin tidak menyenaraikan semua pemandu yang disuntik secara dinamikJadi, jika anda menyahpepijat BSOD atau tingkah laku anomali yang disebabkan oleh alat pihak ketiga yang memuatkan pemacu mereka sendiri, anda mungkin perlu menggunakan kaedah lain.

Antara alternatif tersebut ialah meneliti longgokan ingatan kernel dengan alatan seperti WinDbg, atau gunakan utiliti seperti verifier.exePengesah pemacu membolehkan anda memilih pemacu yang ingin anda pantau dan mengesan kelakuan tidak stabil, tetapi antara muka grafik menawarkan lebih banyak pilihan penghitungan daripada versi baris arahan, yang memfokuskan pada pertanyaan dan mengkonfigurasi pengesahan.

Ringkasnya, untuk inventori am dan untuk kebanyakan keperluan pentadbiran, PowerShell, WMI, dan Get-WindowsDriver meliputi pangkalan dengan sangat baik.Walau bagaimanapun, dalam kes ekstrem penyahpepijatan pemacu sarat panas, anda perlu menambah alat analisis kernel.

Kemas kini pemacu dengan PowerShell menggunakan PSWindowsUpdate

Selain menyenaraikan pemacu, banyak pentadbir menggunakan PowerShell untuk mengautomasikan kemas kini pemandu melalui Windows Update dan juga untuk kemas kini pemacu bunyiSatu kaedah yang biasa digunakan ialah melalui modul PSWindowsUpdate, yang memanjangkan cmdlet kemas kini standard.

Aliran biasa melaluinya membolehkan pelaksanaan skrip yang ditandatangani buat sementara waktuPasang modul dan kemudian minta kemas kini pemacu terus daripada pelayan Microsoft.

Satu set perintah biasa mungkin:

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

Urutan ini membolehkan pelaksanaan skrip untuk sesi semasa, memasang dan mengimport modul PSWindowsUpdate, Anda semak kemas kini yang tersedia. Dan akhirnya, anda meminta mereka dipasang daripada kategori "Pemandu" melalui Kemas Kini Microsoft, membenarkan sistem dimulakan semula secara automatik jika perlu.

Anda juga boleh meluaskan skop dengan menggunakan arahan yang memasang semua kemas kini yang dikesan daripada Kemas Kini Microsoft dan dimulakan semula tanpa campur tangan, contohnya:

Get-WindowsUpdate -MicrosoftUpdate -Install -AutoReboot

Cara kerja ini amat praktikal dalam taman pasukan yang besarDi sinilah anda ingin menyeragamkan versi pemacu tanpa pergi satu demi satu. Walau bagaimanapun, sentiasa dinasihatkan untuk menggabungkan ini dengan inventori pemandu yang baik sebelum ini dan, dalam persekitaran kritikal, uji dalam kumpulan perintis sebelum digunakan ke seluruh organisasi.

Peranti Windows, masalah pemandu
artikel berkaitan:
Panduan Lengkap untuk Mengalih Keluar Peranti Hantu dan Pemacu Yatim dalam Windows