Để kiểm tra driver mạng bằng PowerShell, bạn chỉ cần vài lệnh là biết ngay card mạng (Wi-Fi/Ethernet) đang dùng driver nào, phiên bản bao nhiêu, do hãng nào cung cấp và trạng thái có ổn không.
Nếu bạn đang gặp lỗi mất mạng, chập chờn, không nhận adapter hoặc tốc độ tụt bất thường, PowerShell giúp bạn khoanh vùng nhanh: lỗi nằm ở driver, thiết bị, hay cấu hình.
Ngoài việc “xem thông tin”, bạn còn có thể xuất báo cáo, đối chiếu driver trong Driver Store, và chuẩn bị kịch bản cập nhật/rollback an toàn trước khi can thiệp sâu.
Giới thiệu ý mới: Dưới đây là cách thiết lập quy trình kiểm tra driver mạng theo từng tầng (adapter → driver → file/INF → chữ ký số → hành động khắc phục) để bạn làm đúng ngay từ lần đầu.
PowerShell có kiểm tra được driver mạng không và cần chuẩn bị gì?
Có, PowerShell kiểm tra được driver mạng vì Windows cung cấp cmdlet và lớp thiết bị (PnP/CIM) để truy xuất adapter, driver, phiên bản và trạng thái lỗi theo thời gian thực.
Tiếp theo, bạn chuẩn bị đúng “môi trường chạy” để kết quả hiển thị đầy đủ và tránh thiếu quyền khi truy vấn driver store.

- Chọn đúng PowerShell: Windows PowerShell (mặc định) hoặc PowerShell 7 đều dùng được cho phần “xem thông tin”; một số thao tác hệ thống có thể cần quyền quản trị.
- Chạy với quyền phù hợp: Mở PowerShell bằng “Run as administrator” nếu bạn cần liệt kê/xóa/cài driver trong driver store.
- Xác định adapter cần kiểm tra: Wi-Fi, Ethernet, USB LAN, card ảo (VPN/Hyper-V), hoặc adapter ẩn (hidden).
- Chuẩn hóa cách lọc: Luôn lọc theo Name, InterfaceDescription, hoặc PNPDeviceID để tránh nhầm giữa adapter vật lý và adapter ảo.
Ví dụ, nếu bạn cũng đang xử lý nhiều hạng mục driver trên máy, hãy ghi chú riêng từng nhóm; có người sẽ tiện tay kiểm tra driver âm thanh bằng Sound settings rồi mới quay lại phần mạng để tránh bỏ sót nguyên nhân “không phát hiện thiết bị”.
Lệnh nào giúp xem nhanh driver cho Wi-Fi/Ethernet trong 30 giây?
Cách nhanh nhất là dùng Get-NetAdapter và (nếu có) Get-NetAdapterDriver để xem tên adapter, nhà sản xuất, phiên bản driver và trạng thái liên kết chỉ trong một màn hình.
Để bắt đầu, bạn chạy nhóm lệnh “tổng quan trước – chi tiết sau” để không bị ngợp dữ liệu.

Xem danh sách adapter và lọc Wi-Fi/Ethernet đúng mục tiêu
Gợi ý lệnh:
- Get-NetAdapter (xem tất cả adapter đang hiển thị)
- Get-NetAdapter -Name “*” (hiển thị toàn bộ theo wildcard)
- Get-NetAdapter -Physical (ưu tiên adapter vật lý, giảm nhiễu từ adapter ảo)
Ví dụ lọc nhanh theo tên thường gặp:
- Get-NetAdapter -Name “Wi-Fi”
- Get-NetAdapter -Name “Ethernet”
Tiếp theo, khi đã xác định đúng adapter, bạn chuyển sang lớp “driver view” để xem driver đi kèm.
Xem thông tin driver theo “Driver View” (dễ đọc, ít dòng)
Gợi ý lệnh:
- Get-NetAdapter -Name “Wi-Fi” | Format-Table -View Driver
- Get-NetAdapter -Name “Ethernet” | Format-Table -View Driver
Cụ thể, “Driver View” thường cho bạn các trường hữu ích như mô tả interface, phiên bản driver, và thông tin nhà cung cấp (tùy hệ).
Tiếp theo, nếu hệ của bạn hỗ trợ cmdlet chuyên về driver, bạn có thể lấy sâu hơn bằng một lệnh riêng.
Nếu có Get-NetAdapterDriver, dùng để soi driver chi tiết hơn
Gợi ý lệnh:
- Get-NetAdapterDriver -Name “Wi-Fi”
- Get-NetAdapterDriver -Name “Ethernet”
Trong khi đó, nếu máy bạn báo không nhận cmdlet này hoặc dữ liệu chưa đủ, bạn chuyển sang nhánh PnP/CIM (phổ dụng hơn) ở phần tiếp theo.
Làm sao lấy phiên bản, nhà cung cấp, ngày driver và INF một cách “chuẩn kỹ thuật”?
Bạn có thể lấy phiên bản, provider, ngày phát hành và tệp INF bằng cách truy vấn driver đã ký (Win32_PnPSignedDriver) hoặc thiết bị PnP theo lớp Net, rồi ghép dữ liệu theo PNPDeviceID.
Tiếp theo, bạn nên “lấy đúng khóa” là PNPDeviceID để tránh nhầm driver của adapter ảo.

Lấy driver theo lớp thiết bị mạng (PnP) để biết trạng thái và mã lỗi
Gợi ý lệnh:
- Get-PnpDevice -Class Net
- Get-PnpDevice -Class Net | Select-Object FriendlyName, Status, InstanceId
Cụ thể, bạn quan sát Status (OK/Problem/Unknown) và lưu InstanceId (tương đương “dấu vân tay” của thiết bị).
Tiếp theo, bạn dùng CIM để kéo về thông tin driver đã ký, trong đó thường có Version/Provider/InfName.
Lấy thông tin driver đã ký để có Version/Provider/InfName
Gợi ý lệnh:
- Get-CimInstance Win32_PnPSignedDriver | Where-Object {$_.DeviceClass -eq “NET”}
- Get-CimInstance Win32_PnPSignedDriver | Where-Object {$_.DeviceClass -eq “NET”} | Select-Object DeviceName, DriverVersion, DriverProviderName, DriverDate, InfName
Để “khớp đúng adapter”, bạn có thể lọc theo tên gần đúng hoặc (tốt hơn) lọc theo DeviceID/PNPDeviceID khi đã lấy từ Get-PnpDevice.
Tiếp theo, khi bạn muốn gửi cho kỹ thuật viên hoặc lưu lại trước khi update, hãy xuất báo cáo ra file.
Xuất báo cáo driver mạng ra CSV để lưu bằng chứng trước khi sửa
Gợi ý lệnh:
- Get-CimInstance Win32_PnPSignedDriver | Where-Object {$_.DeviceClass -eq “NET”} | Select-Object DeviceName, DriverVersion, DriverProviderName, DriverDate, InfName | Export-Csv -NoTypeInformation -Encoding UTF8 “$env:USERPROFILE\Desktop\driver-mang.csv”
Bảng này chứa các trường quan trọng để bạn đối chiếu giữa “trước và sau” khi cập nhật/rollback driver.
| Trường | Ý nghĩa khi kiểm tra driver mạng | Khi nào cần chú ý |
|---|---|---|
| DriverVersion | Phiên bản driver hiện tại | Khi lỗi xuất hiện sau cập nhật hoặc phiên bản quá cũ |
| DriverProviderName | Nhà cung cấp (Microsoft/Intel/Realtek/Broadcom…) | Khi provider lạ, không đúng hãng thiết bị |
| DriverDate | Ngày driver | Khi driver “rất cũ” so với bản Windows hiện tại |
| InfName | Tên tệp INF (oemXX.inf hoặc tên hãng) | Khi cần gỡ/cài bằng công cụ hệ thống |
Dấu hiệu nào cho thấy driver mạng đang lỗi, xung đột hoặc không tối ưu?
Có 4 nhóm dấu hiệu chính: thiết bị báo lỗi (PnP/Code), liên kết mạng bất ổn, hiệu năng tụt không rõ lý do, hoặc driver/adapter thay đổi bất thường sau cập nhật hệ thống.
Tiếp theo, bạn kiểm tra theo thứ tự “thiết bị → liên kết → thông số → lịch sử” để tìm điểm gãy.

Nhóm 1: Thiết bị báo Problem/Unknown hoặc driver thiếu
Gợi ý kiểm tra:
- Get-PnpDevice -Class Net | Where-Object {$_.Status -ne “OK”}
Nếu adapter hiện “Problem” hoặc biến mất khỏi danh sách vật lý, khả năng cao là driver lỗi, bị vô hiệu hóa, hoặc driver store đang thiếu gói phù hợp.
Tiếp theo, bạn đối chiếu “adapter có link không” để tách lỗi driver khỏi lỗi mạng vật lý.
Nhóm 2: Link speed = 0, thường xuyên disconnect, hoặc chỉ chạy ở tốc độ thấp
Gợi ý kiểm tra:
- Get-NetAdapter | Select-Object Name, Status, LinkSpeed
Ví dụ, nếu Ethernet luôn ở tốc độ thấp dù dây/port tốt, bạn nghi ngờ xung đột driver hoặc thiết lập advanced property không phù hợp.
Tiếp theo, bạn xem các thông số nâng cao của adapter để tìm cấu hình “lệch chuẩn”.
Nhóm 3: Advanced properties bị thay đổi hoặc không đồng nhất
Gợi ý kiểm tra:
- Get-NetAdapterAdvancedProperty -Name “Ethernet”
- Get-NetAdapterAdvancedProperty -Name “Wi-Fi”
Trong khi đó, nếu bạn đang dùng các công cụ tối ưu hệ thống, hãy cẩn thận vì một số tiện ích có thể chỉnh advanced properties, gây xung đột ngầm với driver.
Kiểm tra chữ ký số và nguồn driver để tránh driver lạ bằng PowerShell như thế nào?
Bạn có thể giảm rủi ro driver “không rõ nguồn” bằng cách xác định nhà cung cấp, đường dẫn tệp driver và kiểm tra chữ ký số của tệp .sys liên quan.
Tiếp theo, bạn cần lấy đúng đường dẫn tệp driver trước khi kiểm tra chữ ký số.

Lấy đường dẫn driver (DriverPath/DriverName) rồi kiểm tra chữ ký
Gợi ý cách làm:
- Trước hết lấy thông tin: Get-CimInstance Win32_PnPSignedDriver | Where-Object {$_.DeviceClass -eq “NET”} | Select-Object DeviceName, DriverProviderName, DriverVersion, DriverDate, DriverName
- Sau đó kiểm tra chữ ký tệp (khi đã có đường dẫn tệp): Get-AuthenticodeSignature “DUONG_DAN_FILE_SYS”
Cụ thể, nếu chữ ký báo “Valid” và nhà cung cấp đúng (Intel/Realtek/Broadcom/Microsoft…), mức tin cậy cao hơn so với driver trôi nổi.
Tiếp theo, bạn nên đối chiếu driver đang dùng với driver trong Driver Store để biết hệ đang “giữ” những gói nào.
Đối chiếu driver đang dùng với driver trong Driver Store
Ở bước này, nhiều người dùng nhầm lẫn giữa “driver đang active” và “driver còn nằm trong kho”. Vì vậy bạn nên liệt kê driver store để biết có gói nào dư thừa hoặc trùng phiên bản.
Trong thực tế, lệnh pnputil quản lý driver là cách phổ biến để liệt kê, gỡ hoặc cài gói driver mà không cần mở giao diện đồ họa.
Cập nhật hoặc rollback driver mạng an toàn: nên làm theo thứ tự nào?
Quy trình an toàn là: sao lưu thông tin hiện tại → ưu tiên cập nhật từ nguồn chính thống → kiểm tra lại trạng thái/link speed → nếu lỗi mới phát sinh thì rollback về phiên bản ổn định.
Tiếp theo, bạn chọn đúng “nguồn driver” theo mức độ ổn định, thay vì cài ngẫu nhiên theo kết quả tìm kiếm.

Ưu tiên nguồn cập nhật: Windows Update, OEM, rồi mới đến gói thủ công
- Windows Update: thường an toàn và tương thích; phù hợp đa số máy văn phòng.
- Trang hãng máy/bo mạch (OEM): tối ưu theo model, đặc biệt với laptop.
- Trang hãng chipset (Intel/Realtek/Broadcom): hữu ích khi OEM chậm cập nhật, nhưng cần chọn đúng model.
Nếu bạn đang dùng một phần mềm quản lý driver, hãy kiểm tra kỹ nguồn tải và khả năng khôi phục (restore point), vì tiện lợi không đồng nghĩa an toàn.
Tiếp theo, khi cập nhật xong, bạn dùng chính PowerShell để “xác nhận kết quả” thay vì chỉ nhìn biểu tượng Wi-Fi.
Xác nhận sau cập nhật bằng PowerShell để biết driver đã đổi thật chưa
Gợi ý lệnh:
- Get-NetAdapter -Name “Wi-Fi” | Format-Table -View Driver
- Get-CimInstance Win32_PnPSignedDriver | Where-Object {$_.DeviceClass -eq “NET”} | Select-Object DeviceName, DriverVersion, DriverProviderName, DriverDate
Trong khi đó, nếu sau cập nhật bạn gặp hiện tượng mất mạng, ping thất thường hoặc tốc độ tụt, rollback là lựa chọn hợp lý hơn là “cố cài tiếp”.
Sao lưu và khôi phục driver mạng trước khi thử nghiệm để khỏi “mất đường về”?
Bạn nên sao lưu driver trước khi thử bản mới vì chỉ cần một driver không tương thích là Wi-Fi/Ethernet có thể biến mất, khiến việc tải lại driver trở nên khó khăn.
Tiếp theo, bạn sao lưu theo 2 lớp: xuất thông tin (report) và xuất gói driver (driver package) để khôi phục khi cần.

Sao lưu “báo cáo” để biết mình đã ở phiên bản nào
Gợi ý lệnh:
- Get-CimInstance Win32_PnPSignedDriver | Where-Object {$_.DeviceClass -eq “NET”} | Select-Object DeviceName, DriverVersion, DriverProviderName, DriverDate, InfName | Export-Csv -NoTypeInformation -Encoding UTF8 “$env:USERPROFILE\Desktop\backup-driver-mang.csv”
Tiếp theo, bạn sao lưu cả gói driver để khi cần có thể cài lại offline.
Sao lưu gói driver bằng công cụ hệ thống (không cần phần mềm ngoài)
Gợi ý lệnh:
- pnputil /export-driver * “%USERPROFILE%\Desktop\DriverBackup”
Việc xuất driver theo cách này giúp bạn có một thư mục chứa các gói driver đã có trên máy, dễ dùng khi cần phục hồi sau lỗi. Nếu bạn quản trị website hoặc hay tải tiện ích từ các nguồn chia sẻ như phanmemfree, hãy tách bạch “tải phần mềm” và “cài driver hệ thống” để tránh cài nhầm gói không rõ nguồn.
Tiếp theo, khi cần khôi phục, bạn có thể cài lại gói driver từ thư mục backup theo tệp INF phù hợp.
Khôi phục driver từ thư mục backup khi adapter biến mất
Gợi ý cách làm:
- Trước hết xác định tệp INF đúng trong thư mục backup (thường nằm cùng thư mục con của driver).
- Sau đó cài lại gói driver (có thể cần quyền admin): pnputil /add-driver “DUONG_DAN\TEN.inf” /install
Bảng này chứa nhóm lệnh nền tảng để bạn thao tác driver store có kiểm soát (liệt kê → thêm → cài → gỡ), tránh làm “quá tay”.
| Mục tiêu | Lệnh gợi ý | Ghi chú |
|---|---|---|
| Liệt kê gói driver trong Driver Store | pnputil /enum-drivers | Dùng để tìm oemXX.inf và đối chiếu provider/version |
| Xuất (backup) driver | pnputil /export-driver * “THU_MUC” | Hữu ích khi chuẩn bị cập nhật driver mạng |
| Thêm và cài driver từ INF | pnputil /add-driver “DUONG_DAN\TEN.inf” /install | Cần quyền quản trị; dùng khi adapter lỗi driver |
| Gỡ gói driver khỏi Driver Store | pnputil /delete-driver oemXX.inf /uninstall | Cẩn thận: chỉ gỡ khi chắc đúng gói, tránh làm mất driver đang dùng |
Tiếp theo, khi đã nắm quy trình kiểm tra và khôi phục trên một máy, bạn có thể mở rộng sang kiểm tra nhiều máy và tự động hóa báo cáo.
Tự động hóa kiểm tra driver mạng trên nhiều máy và xuất báo cáo
Bạn có thể tự động hóa bằng CIM session hoặc chạy kịch bản thu thập thông tin driver mạng theo danh sách máy, sau đó gom về một báo cáo chung để so sánh và chuẩn hóa cấu hình.
Ngoài ra, bạn nên phân loại adapter theo “vật lý vs ảo” (hyponym) để báo cáo không bị nhiễu bởi VPN, virtual switch hoặc adapter tạm thời.

Thu thập driver mạng theo tiêu chí “vật lý trước” để giảm nhiễu
Gợi ý hướng triển khai:
- Lấy danh sách adapter vật lý: Get-NetAdapter -Physical
- Lấy driver đã ký theo lớp NET: Get-CimInstance Win32_PnPSignedDriver | Where-Object {$_.DeviceClass -eq “NET”}
- Ghép theo DeviceName/PNPDeviceID, rồi xuất CSV theo từng máy để so sánh phiên bản.
Tiếp theo, nếu bạn cần khoanh vùng nhanh sự khác biệt giữa các máy (máy A mất mạng, máy B bình thường), hãy ưu tiên so sánh 3 trường: Provider, Version, DriverDate.
Checklist 60 giây để kết luận “lỗi do driver” hay “không phải driver”
- Bước 1: Adapter có tồn tại và Status có OK không? (PnP)
- Bước 2: LinkSpeed có hợp lý không? (NetAdapter)
- Bước 3: DriverProvider/Version/Date có thay đổi gần đây không? (PnPSignedDriver)
- Bước 4: Nếu vừa cập nhật xong mới lỗi, ưu tiên rollback hoặc cài bản OEM ổn định.
Để minh họa phần kết nối vật lý (đặc biệt khi bạn nghi ngờ dây/đầu bấm), ảnh dưới đây giúp bạn hình dung cấu trúc RJ45 theo dạng “bộ phận của kết nối” (meronymy) trước khi kết luận sai do driver.

Các câu hỏi thường gặp
Vì sao Get-NetAdapter thấy Ethernet nhưng không thấy Wi-Fi?
Thường do Wi-Fi adapter bị tắt (disable), driver lỗi, thiết bị ẩn, hoặc module Wi-Fi trên laptop gặp vấn đề phần cứng. Bạn nên kiểm tra Get-PnpDevice -Class Net để xem Status và InstanceId, rồi đối chiếu driver bằng Win32_PnPSignedDriver.
PowerShell 7 có kiểm tra driver mạng giống Windows PowerShell không?
Phần lớn lệnh xem thông tin vẫn dùng được, nhưng một số cmdlet/Module phụ thuộc Windows và quyền hệ thống; nếu gặp lỗi không nhận lệnh, hãy thử chạy Windows PowerShell hoặc cài/enable module cần thiết trên máy.
Làm sao biết driver mạng đang dùng là của Microsoft hay của hãng?
Hãy xem DriverProviderName trong Win32_PnPSignedDriver. Nếu là Microsoft, thường là driver “inbox” hoặc do Windows Update cung cấp; nếu là Intel/Realtek/Broadcom… thường là driver từ hãng/OEM.
Gỡ driver bằng pnputil có nguy hiểm không?
Có thể nguy hiểm nếu bạn gỡ nhầm gói đang dùng. Hãy luôn sao lưu (export) trước, xác định đúng oemXX.inf, và chỉ gỡ khi bạn chắc chắn đó là bản gây lỗi hoặc bản trùng không còn sử dụng.
Khi nào nên dùng công cụ ngoài thay vì PowerShell?
PowerShell phù hợp để kiểm tra nhanh, xuất báo cáo và tự động hóa. Công cụ ngoài chỉ nên dùng khi bạn cần giao diện dễ thao tác hoặc có chức năng quản trị tập trung, nhưng vẫn ưu tiên nguồn tải đáng tin và có khả năng hoàn nguyên.


