Kiểm tra driver mạng bằng PowerShell cho Windows 10/11: Wi-Fi/Ethernet

windows 10 is officially dead v0 zvw4cl5bsvuf1

Để 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.

Mục lục

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.

Biểu tượng Windows PowerShell

  • 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.

PowerShell chạy trong Windows Terminal

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.

Card mạng Wi-Fi

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 minh họa Device Manager và trạng thái thiết bị

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ố.

Biểu tượng Wi-Fi

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 cáp Ethernet RJ45

Ư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.

Đầu cắm RJ45 minh họa kết nối vật lý

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.

Mạng không dây minh họa kết nối Wi-Fi

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.

RJ45 và số chân pin minh họa

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.