如何使用 PowerShell 和其他工具在 Windows 中列出驅動程式

最後更新: 十二月3,2025
作者: 艾薩克
  • PowerShell 可讓您使用 WMI 和 Get-WindowsDriver 在線上系統和離線映像上列出和匯出驅動程式。
  • DISM 和 Add-WindowsDriver 可以輕鬆備份和還原驅動程序,這在重新安裝或更新 Windows 之前至關重要。
  • Windows Update 透過 PSWindowsUpdate 可以從 PowerShell 自動管理驅動程式更新。
  • driverquery 和裝置管理員等原生工具,以及第三方實用程序,共同完善了高級驅動程式管理。

在 Windows 系統中使用 PowerShell 列出驅動程式

當您在 Windows 系統中遇到硬體問題時,遲早都需要檢查已安裝的驅動程式及其版本。使用圖形化工具手動執行此操作非常繁瑣,尤其是在管理多台電腦或伺服器的情況下。這時,PowerShell 就派上了用場,它可以讓您快速列出驅動程式、匯出驅動程式、篩選驅動程序,甚至為系統還原做好準備

本文將介紹如何使用 PowerShell、WMI 和 DISM 查看所有已安裝的驅動程式;如何產生 CSV 或 TXT 格式的清單;如何使用`driverquery`等經典指令;以及如何透過 Windows 更新或外部工具備份、還原甚至更新驅動程式。此外,我們還將介紹裝置管理器以及一些第三方程序,以滿足偏好視覺化介面的使用者的需求。

使用 PowerShell 和 WMI 列出已安裝的驅動程式

在 Windows 系統中,使用 PowerShell 取得驅動程式清單的最直接方法是使用Win32_PnPSignedDriver WMI 對象,該物件公開了系統中已簽署即插即用驅動程式的詳細資訊。只需一個 cmdlet,即可查詢裝置名稱、版本、製造商和日期

目標摘要:以下是常用的基本指令,用來顯示裝置名稱和驅動程式版本:

  • 命令: Get-WmiObject Win32_PnPSignedDriver | Select-Object DeviceName, DriverVersion

此 cmdlet 會掃描系統上的所有即插即用驅動程序,並讓您快速查看每個裝置正在使用的驅動程式版本。它非常適合對伺服器或電腦進行快速檢查,而無需逐一開啟圖形視窗。

如果您想將該清單儲存到文字檔案中以便稍後查閱或發送給其他同事,您可以輕鬆地將輸出重新導向到硬碟,例如:

  • 實際示例: Get-WmiObject Win32_PnPSignedDriver | Select-Object DeviceName, DriverVersion > C:\drivers.txt

透過這項簡單的新增操作,您可以建立一個名為drivers.txt 的文件,其中包含電腦驅動程式的清單。這對於快速審核、伺服器文件編寫或在進行重大硬體變更之前非常有用。

通常,按特定製造商篩選很有用,例如,要尋找 Intel、NVIDIA、AMD 或類似公司的所有驅動程式。為此,我們可以使用PowerShell 中的Where-Object子句和通配符表達式:

  • 過濾範例: Get-WmiObject Win32_PnPSignedDriver | Select-Object DeviceName, DriverVersion | Where-Object { $_.DeviceName -like "*intel*" }

這種類型的查詢可以讓你一次性找到與特定供應商相關的所有驅動程序,這在調試兼容性問題或檢查特定硬體的版本時非常實用。

使用 PowerShell 將完整的驅動程式清單匯出到 CSV 檔案。

當您需要比簡單的 TXT 檔案更複雜的資料時,理想的解決方案是將資料匯出為 CSV 格式,以便在 Excel、Power BI 或其他分析工具中開啟。 PowerShell 的Export-CSV函數讓這個過程變得更輕鬆。

  • 例如: Get-WmiObject Win32_PnPSignedDriver | Select-Object DeviceName, FriendlyName, DriverVersion, DriverDate | Export-CSV -Path "./Mis Drivers.csv" -NoTypeInformation

只需一行命令,即可在當前目錄下產生一個名為「My Drivers.csv」的文件,其中包含驅動程式的詳細列表,包括裝置名稱、描述性名稱、版本和日期。這是一種非常簡潔的方式,可以在遷移、系統更新或硬體更換之前記錄驅動程式的狀態

如果您不想直接匯出,而是想先在螢幕上查看內容,然後再複製並貼上到其他地方,也可以這樣做。雖然有些文章提到 PowerShell “預設”不允許導出列表,但實際上,Export-CSV 和輸出重定向在當前版本的 PowerShell 中運作良好,因此您無需任何額外的模組即可產生報告。

使用 Get-WindowsDriver 從 PowerShell 查看已安裝的驅動程式

除了 WMI 之外,Windows 還提供了另一個強大的驅動程式管理工具:Get-WindowsDriver cmdlet ,它是 PowerShell 中 DISM 命令集的一部分。此 cmdlet 既可用於離線映像,也可用於運作中的系統,並提供有關驅動程式套件的詳細資訊。

  • 使用指南: 它的基本語法分為兩種方法:使用 鏡像已掛載(離線) 或使用我們目前正在運行(線上)的 Windows 系統。一般來說,其用法與以下情況類似:
  • 語法(圖像): Get-WindowsDriver -Path <ruta_imagen> ...
  • 語法(線上): Get-WindowsDriver -Online ...

使用-Online參數時,此指令直接作用於目前系統。一個獲取電腦上所有驅動程式完整清單的經典範例是:

  • 範例命令: Get-WindowsDriver -Online -All

此命令會顯示第三方驅動程式和預設的 Windows 驅動程式。如果省略-All參數,則該 cmdlet 只會傳回第三方驅動程序,如果您只想查看系統中未預先安裝的驅動程序,這將非常有用。

  在 VBA 中註解掉多行程式碼最簡單的方法是使用 HTML 格式。要做到這一點

如果您正在處理已掛載的映像(例如,C:\offline資料夾中的 Windows 安裝),則可以使用下列命令列出其驅動程式:

  • 範例(裱框影像): Get-WindowsDriver -Path "C:\offline"

這將傳回該映像中包含的第三方驅動程序,這對於在生產環境中使用部署範本或自訂映像之前對其進行審查至關重要。

還可以使用-Driver參數深入了解特定驅動程序,可以透過傳遞 INF 檔案名稱或檔案的完整路徑來實現:

  • 範例資訊: Get-WindowsDriver -Path "C:\offline" -Driver "OEM1.inf"
  • 範例路線: Get-WindowsDriver -Path "C:\offline" -Driver "C:\drivers\Usb\Usb.inf"

在這些情況下,您將獲得有關驅動程式套件的高級資訊:描述、提供者、日期、版本、類型等,這對於更詳細的診斷或驗證映像中包含的版本是否確實是您需要的版本非常有用。

在其最相關的參數中,除了-All、-Online 和 -Path之外,我們還可以找到諸如-LogPath(用於將日誌發送到特定檔案)、-LogLevel(用於調整日誌的詳細程度)或-ScratchDirectory(用於指定在提取和分析過程中將使用的本地臨時目錄)之類的選項。

如果您喜歡視覺化的方式,可以將Get-WindowsDriver的輸出與Out-GridView結合使用,並在互動式表格中瀏覽結果:

  • 互動式視圖: Get-WindowsDriver -Online -All | Out-GridView

這樣,您就可以對所有系統驅動程式進行篩選和排序,這對於有數百個不同驅動程式的環境非常方便。

使用 PowerShell 和 DISM 進行驅動程式備份和還原

在對作業系統進行任何重大更改(例如重大更新、硬體升級、格式化等)之前,強烈建議您備份驅動程式。如果在重新安裝系統後,Windows 無法識別某個元件,或者新驅動程式開始出現問題,備份驅動程式可以為您省去很多麻煩。

一個非常常見的策略是使用DISM 和 PowerShell執行此備份。雖然原始程式碼片段中沒有顯示匯出過程的詳細步驟,但其思路是利用 DISM 的選項將驅動程式從現有安裝提取到指定資料夾。之後,您可以從裝置管理員或命令列還原這些驅動程式。

備份完成後,若要透過CMD更新或還原特定驅動程序,可以使用以下命令:

  • DISM命令: dism /online /Add-Driver /Driver:RUTA_CONTROLADOR /Recurse

` /Recurse`參數用於遍歷子資料夾並套用找到的所有有效 INF 文件,因此非常適合將備份保存在包含許多不同驅動程式的目錄樹中的情況。這允許您以自動化的方式一次重新註入多個驅動程式

如果您喜歡使用 PowerShell,則需要使用到Add-WindowsDriver cmdlet ,它用於向離線映像新增驅動程序,或根據具體情況,透過 DISM 基礎架構為目前系統新增驅動程式。雖然它通常用於部署場景,但也適用於恢復場景或批次驅動程式更新。

備份驅動程式並了解如何透過命令列恢復它們,能讓您安心不少。這不僅可以避免失去連線或對不熟悉元件的支持,還能大幅縮短Windows 重裝後的復原時間。

使用 PowerShell 從 Windows 更新更新驅動程式

另一個重要方面是透過 Windows 更新來更新驅動程式。裝置管理員可讓您透過連接到 Microsoft 伺服器來搜尋新版本,但如果您想從 PowerShell 自動執行此過程,通常的方法是使用PSWindowsUpdate模組。

此模組預設不包含在 PowerShell 中,因此必須從模組儲存庫安裝,這對於在 Windows 11 中安裝驅動程式非常有用。在繼續操作之前,建議放寬目前會話的執行策略,以便您可以載入腳本而不會阻塞它們。

  • 設置: Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
  • 安裝方式: Install-Module PSWindowsUpdate
  • 進口: Import-Module PSWindowsUpdate

完成上述步驟後,現在可以使用Get-WindowsUpdate來檢查和安裝更新,包括驅動程式。例如,要檢查哪些更新通常可用:

  • 查詢: Get-WindowsUpdate

如果您的目標是專注於驅動程序,您可以指定相應的類別,並使其自動安裝:

  • 安裝驅動程式: Get-WindowsUpdate -MicrosoftUpdate -Category Driver -Install -AutoReboot

此命令會查詢 Microsoft 更新目錄,篩選驅動程式更新,安裝這些更新,並在必要時啟用自動重新啟動。要同時包含系統補丁和驅動程序,只需省略 category 參數即可。

  • 安裝所有程式: Get-WindowsUpdate -MicrosoftUpdate -Install -AutoReboot

如果要在不使用 PSWindowsUpdate 的情況下從 Microsoft 目錄更新驅動程序,情況就會變得複雜。系統沒有提供能夠與更新目錄進行如此詳細通訊的原生 PowerShell cmdlet,因此,除非使用更進階的 API 或腳本,否則 PSWindowsUpdate 仍然是最實用的選擇。

  一個月有幾個工作天?

使用 driverquery 和系統工具從 CMD 查看驅動程式

雖然 PowerShell 現在是明星工具,但了解經典的命令提示字元driverquery仍然很有趣,它允許您列出所有 Windows 驅動程序,而無需其他工具。

如果您開啟命令提示字元(例如按Win + R並輸入cmd),您可以執行:

跑: driverquery

輸出結果會顯示驅動程式列表,包括驅動程式的名稱、類型和其他基本資訊。如需查看更多信息,您可以添加/v參數,以查看更詳細的信息,包括每個驅動程式的性能數據和內存使用情況。

細節: driverquery /v

如果您有興趣專注於簽約車手並獲取有關他們的更多信息,還可以選擇:

簽名: driverquery /si

此外,該命令本身還有其他參數,您可以透過以下方式發現:

救命: driverquery /?

這些輸出結果中值得注意的值之一是分頁池,它指示驅動程式可以使用的分頁記憶體。如果您發現看似簡單的驅動程式消耗了異常高的記憶體量(例如,超過 100 MB),則可能是記憶體洩漏或效能問題的跡象。

查看「連結日期」欄位也很有幫助,該欄位指的是驅動程式的編譯日期。如果某個關鍵驅動程式(例如顯示卡驅動程式或晶片組驅動程式)的日期非常久遠(例如超過三年),則很可能已有包含效能改進和重要安全修補程式的新版本可用,因此值得考慮更新。

另一個內建的 Windows 工具MSINFO32可以提供非常詳細的系統信息,您可以透過在搜尋框中執行msinfo來存取它。該實用程式會顯示大量計算機信息,包括與驅動程式相關的數據,但如果您只是想查找一個簡單的驅動程式列表,其顯示內容可能會顯得有些混亂。

使用裝置管理員管理驅動程式

除了命令列之外,裝置管理員仍然是 Windows 系統中管理驅動程式的關鍵工具。它允許您查看所有已安裝的裝置、檢查其狀態,並單獨更新、回溯或卸載驅動程式

要開啟裝置管理員,您可以右鍵單擊“此電腦”並選擇“管理”,或使用“開始”按鈕的上下文功能表(右鍵單擊 Windows 圖示並選擇相應的選項)。您也可以使用Windows + X快捷鍵來存取它。

在開啟的視窗中,您會看到一個類別清單(網路介面卡、系統裝置、儲存控制器等)。每個類別下方都會顯示特定的設備,出現問題的設備會以黃色感嘆號標示。雙擊其中任何一個設備,即可開啟屬性窗口,您可以在其中查看設備的狀態。

在這些屬性的「控制器」標籤中,您會看到幾個非常有用的選項:

  • 司機詳細信息:允許您詳細查看構成驅動程式的檔案。
  • 更新驅動它會在 Windows 更新中搜尋更新的版本,或允許您手動選擇驅動程式。
  • 還原到上一個控制器:如果最新更新導致錯誤,則還原到先前的版本。
  • 禁用設備:斷開設備連接,但不卸載驅動程序,保持驅動程式安裝但處於非活動狀態。
  • 卸載設備這將徹底刪除系統驅動程序,因此應謹慎操作,因為設備重新連接時可能不會自動重新安裝。
  如何從 USB 可靠且順利地安裝 Ubuntu

在測試新版本時,驅動程式的更新和回滾選項尤其重要,因為您需要能夠在出現問題時進行復原。結合先前的驅動程式備份,這些選項能為您提供極大的靈活性。

實用提示:對於不再連接的裝置的驅動程序,透過裝置管理員進行管理會變得稍微複雜一些,但即使第三方驅動程式沒有透過我們之前看到的命令(PowerShell、DISM、driverquery)加載,Windows 也允許您查看已安裝的第三方驅動程序,因此建議根據需要使用這兩種方法。

在 Windows 系統中修改驅動程式前的注意事項

務必記住,驅動程式無論大小,對於 Windows 與硬體通訊都至關重要。隨意修改驅動程式可能會導致系統不穩定、資料遺失,甚至無法啟動。

修改、卸載或回滾關鍵驅動程式(例如晶片組、儲存控制器或顯示卡的驅動程式)時,請務必清楚自己正在更改的內容及其原因。操作失誤可能導致反覆出現藍色畫面、崩潰或效能嚴重下降。

因此,強烈建議您在開始操作前採取一系列安全預防措施。其中包括建立系統還原點,以便在出現問題時可以恢復到先前的狀態。此外,備份重要文件也至關重要,尤其是當您將要操作儲存控制器時。

記錄操作步驟也很有幫助:例如,你之前使用的驅動程式版本、正在安裝的驅動程式版本、日期等等。透過使用 PowerShell 或 driverquery 生成的列表,你可以隨時記錄已安裝的確切驅動程序,這在以後出現問題時能極大地幫助進行診斷。

用於檢視和管理控制器的第三方程序

如果 Windows 工具(PowerShell、CMD、裝置管理員)無法滿足您的需求,或者您更喜歡用戶友好的解決方案,那麼可以使用第三方應用程式來集中查看和管理驅動程序,並添加額外的功能。

NirSoft 的InstalledDriversList是一款經典的實用工具。該工具會列出系統上所有已安裝的驅動程序,並顯示以下資訊:

  • 控制器名稱和顯示名稱.
  • 起始描述及類型.
  • 駕駛員類型及其所屬駕駛員組.
  • 檔案名稱和大小.
  • 建立或修改日期.
  • 版本資訊.

此外,驅動程式載入記憶體後,還可以查看初始和最終記憶體位址、記憶體佔用大小以及載入次數等詳細資訊。這是一個免費應用程序,如果您的系統是 64 位,建議下載相應的版本以避免問題。

另一個選擇是Driver Talent,雖然它的介面並非最驚艷,但它在檢測、列出和更新驅動程式方面非常實用,即使是那些不太常見或難以找到的驅動程式也能輕鬆搞定,而且它也是市面上最好的驅動程式更新工具之一。免費版可讓您執行大多數維護操作,而付費版則增加了修復損壞驅動程式的功能。

IObit Driver Booster也非常受歡迎,它可以掃描您的計算機,檢測過時的驅動程序,並允許您一鍵批量更新所有驅動程式。它還會顯示已安裝驅動程式的完整列表,包括當前未連接裝置的驅動程序,並提供刪除不必要的驅動程式以保持系統清潔的選項,例如Windows 10 的聲卡驅動程式

雖然這類程序可以節省時間,但使用時請務必謹慎:允許第三方工具在無人監管的情況下修改關鍵驅動程式可能會引發新的問題。因此,最好始終將它們與備份和還原點結合使用。

透過 PowerShell、Get-WindowsDriver、driverquery、裝置管理員、DISM 以及(如果需要)第三方工具等所有這些資源,您就擁有了一套完整的工具,可用於列出、審核、匯出、備份和更新 Windows 中的驅動程式。了解每種選項將使您能夠選擇最適合您情況的選項,無論是生產伺服器、個人電腦,還是您希望在複製之前完善的部署映像。

適用於 Windows 的最佳免費驅動程式更新程序
相關文章:
適用於 Windows 的最佳免費驅動程式更新程序