- PowerShell ช่วยให้คุณสามารถแสดงรายการ กรอง และส่งออก ไดรเวอร์ ด้วย cmdlets เช่น Get-WmiObject และ Get-WindowsDriver
- driverquery, ไดรเวอร์ ตัวจัดการอุปกรณ์ และ SCCM (Get-CMDriver) เป็นส่วนเสริมของสินค้าคงคลังคอนโทรลเลอร์
- ไดร์เวอร์ที่โหลดแบบไดนามิกบางตัวต้องใช้เครื่องมือเพิ่มเติม เช่น WinDbg หรือโปรแกรมตรวจสอบ
- โมดูลเช่น PSWindowsUpdate และยูทิลิตี้ภายนอกทำให้การอัปเดตและรักษาไดรเวอร์ให้เป็นปัจจุบันเป็นเรื่องง่าย
ในสภาพแวดล้อม Windows ควบคุมว่ามีการติดตั้งไดรเวอร์ใดและมีเวอร์ชันใดบ้าง ถือเป็นกุญแจสำคัญในการรักษาเสถียรภาพของระบบ การแก้ไขปัญหาหน้าจอสีน้ำเงิน หรือการเตรียมการสำหรับการย้ายข้อมูล PowerShell ได้กลายเป็นเครื่องมือที่สะดวกอย่างเหลือเชื่อสำหรับการดำเนินการตรวจสอบสถานะประเภทนี้ โดยไม่ต้องผ่านตัวจัดการอุปกรณ์ทีละตัว
ในบรรทัดต่อไปนี้คุณจะเห็น วิธีการแสดงรายการตัวควบคุมจาก PowerShell ในรูปแบบต่างๆ และวิธีส่งออก เพื่อวิเคราะห์ไฟล์อย่างใจเย็นว่ามีความแตกต่างกับไฟล์อื่นอย่างไรบ้าง คำสั่ง ในขณะที่ driverquery หรือเครื่องมือทางกราฟิก และแม้กระทั่งวิธีการจัดการสถานการณ์ขั้นสูง เช่น รูปภาพออฟไลน์หรือไดรเวอร์ที่โหลดแบบไดนามิก
ไดร์เวอร์คืออะไร และเหตุใดคุณจึงต้องการแสดงรายการไดร์เวอร์จาก PowerShell

ใน Windows ตัวควบคุมหรือไดรเวอร์คือ บล็อกซอฟต์แวร์ขนาดเล็กที่ทำหน้าที่เป็นตัวกลางระหว่างระบบปฏิบัติการและส่วนประกอบของ ฮาร์ดแวร์ (การ์ดจอ, ชิปเซ็ต, การเก็บรักษาอุปกรณ์ต่อพ่วง USBฯลฯ) แม้ว่าโค้ดที่ครอบครองจะไม่ใหญ่โตนัก แต่ผลกระทบต่อเสถียรภาพของระบบนั้นมหาศาล
เมื่อมีปัจจัยกระตุ้นที่สำคัญ (เช่น ที่เก็บข้อมูล เครือข่าย กราฟิก หรือชิปเซ็ต) การทำงานผิดปกติอาจทำให้เกิดการขัดข้อง สูญเสียประสิทธิภาพการทำงาน และแม้กระทั่ง หน้าจอสีฟ้า (BSOD)นั่นเป็นเหตุผลว่าทำไมการมีรายการไดรเวอร์ที่ติดตั้งและเวอร์ชันที่ชัดเจนจึงมีประโยชน์มากเมื่อคุณกำลังแก้ไขจุดบกพร่องหรือเตรียมการสำหรับการอัปเดตครั้งใหญ่
ก่อนที่คุณจะรีบเปลี่ยนแปลง ถอนการติดตั้ง หรือย้อนกลับไดรเวอร์ เป็นความคิดที่ดี ลดความเสี่ยงด้วยจุดคืนค่าระบบวิธีนี้จะช่วยให้คุณย้อนกลับได้หากการอัปเดตไดรเวอร์เกิดข้อผิดพลาด และคอมพิวเตอร์เริ่มทำงานผิดปกติหรือไม่สามารถบูตได้อย่างถูกต้อง
นอกจากร้านอาหารแล้วขอแนะนำ สำรองข้อมูลสำคัญ (เอกสาร รูปถ่าย โปรเจ็กต์งาน ฯลฯ) โดยเฉพาะอย่างยิ่งหากคุณกำลังจะสัมผัสไดรเวอร์ที่จัดเก็บข้อมูล เนื่องจากข้อผิดพลาดอาจทำให้ระบบไม่สามารถติดตั้งไดรฟ์ได้อย่างถูกต้องหรือทำให้ข้อมูลเสียหายได้
คำสั่งพื้นฐานใน PowerShell เพื่อแสดงรายการไดรเวอร์ที่ติดตั้ง
วิธีที่ตรงที่สุดในการรับสินค้าคงคลังตัวควบคุมจาก PowerShell คือ พึ่งพา WMIคำสั่งที่ใช้บ่อยที่สุดคือ:
Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, DriverVersion
ด้วย cmdlet นี้ PowerShell สอบถามคลาส WMI Win32_PnPSignedDriver และส่งคืนรายการไดรเวอร์ PnP ที่ลงนาม พร้อมด้วยชื่ออุปกรณ์และเวอร์ชันไดรเวอร์ที่ระบบเชื่อมโยงอยู่ในปัจจุบัน
หากคุณต้องการบริบทเพิ่มเติมเกี่ยวกับไดรเวอร์แต่ละตัว คุณสามารถเพิ่มฟิลด์เช่น ชื่อที่เป็นมิตร วันที่ตีพิมพ์ หรือผู้ผลิต. ตัวอย่างเช่น
Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, FriendlyName, Manufacturer, DriverVersion, DriverDate
ด้วยการปรึกษาหารือนี้คุณจะได้รับ ข้อมูลครบถ้วนมากขึ้นสำหรับแต่ละรายการสิ่งนี้ช่วยให้คุณตรวจจับเวอร์ชันเก่า ผู้ผลิตเฉพาะ หรือไดรเวอร์ที่ไม่ได้รับการอัปเดตมาหลายปีแล้ว
วิธีการส่งออกรายการไดรเวอร์ไปยังไฟล์ (TXT หรือ CSV)
ในโลกแห่งความเป็นจริง การดูรายการบนหน้าจอเพียงอย่างเดียวนั้นไม่เพียงพอ วิธีที่สะดวกที่สุดคือ... บันทึกผลลัพธ์ลงในไฟล์ เพื่อวิเคราะห์ใน Excel แชร์กับทีม หรือเก็บไว้เป็นภาพรวมของสถานะของระบบก่อนทำการเปลี่ยนแปลงใดๆ เช่น ก่อน ลบไดร์เวอร์เก่า.
หากคุณต้องการรายการข้อความธรรมดาแบบรวดเร็วเท่านั้น คุณสามารถเปลี่ยนเส้นทางเอาต์พุตไปยังไฟล์ได้:
Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, DriverVersion > C:\drivers.txt
คำสั่งนั้นจะสร้างไฟล์ C:\ไดรเวอร์.txt ด้วยอุปกรณ์และรายการเวอร์ชันที่เรียบง่าย เหมาะสำหรับการอ้างอิงอย่างรวดเร็วหรือแนบไปกับรายงานโดยไม่ยุ่งยาก
เมื่อคุณกำลังมองหาสิ่งที่จัดการได้ง่ายกว่าสำหรับการกรองและการเรียงลำดับ ตัวเลือกที่ดีที่สุดคือการใช้ CSV และ cmdlet ส่งออก CSVตัวอย่างทั่วไปมากคือ:
Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, FriendlyName, DriverVersion, DriverDate | Export-CSV -Path "./MisDrivers.csv" -NoTypeInformation
ด้วยคำสั่งนี้ไฟล์ที่ชื่อ ไดรเวอร์ของฉัน.csv ซึ่งคุณสามารถเปิดใน Excel หรือโปรแกรมสเปรดชีตใดๆ ได้ จัดเรียงตามเวอร์ชัน กรองตามวันที่ไดรเวอร์ ค้นหาผู้ผลิตเฉพาะฯลฯ
แม้ว่าบางครั้งจะมีการกล่าวว่า PowerShell "ไม่อนุญาตให้ส่งออก" รายการไดรเวอร์ แต่ในความเป็นจริง ใช่ครับ สามารถส่งออกได้อย่างสมบูรณ์แบบครับ ใช้การเปลี่ยนเส้นทางผลลัพธ์หรือ Export-CSV อย่างที่คุณเห็น จากนั้นคุณสามารถคัดลอก วาง หรือทำงานกับข้อมูลนั้นได้ทุกที่ที่ต้องการ
กรองไดรเวอร์ตามผู้ผลิต ชื่อ หรือข้อความเฉพาะ
โดยปกติแล้ว คุณคงไม่อยากเห็นไดรเวอร์ทั้งหมดในคราวเดียว แต่ควรเน้นไปที่ผู้ผลิตหรือประเภทอุปกรณ์เฉพาะเจาะจง ในกรณีนี้ คุณสามารถ การเชื่อมโยงตัวกรองกับ Where-Object เกี่ยวกับคุณสมบัติของไดรเวอร์แต่ละตัว
เช่น หากคุณสนใจที่จะเก็บเฉพาะไดรเวอร์ไว้ อินเทลคุณสามารถทำสิ่งง่ายๆ เช่น:
Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, DriverVersion | Where-Object { $_.DeviceName -like "*Intel*" }
คำสั่งนี้จะวนซ้ำผ่านรายการทั้งหมดที่ส่งคืนโดย WMI และ มันจะรักษาเฉพาะอุปกรณ์ที่มีชื่ออุปกรณ์ที่มีสตริง "Intel" เท่านั้นการใช้เครื่องหมายดอกจันเป็นสัญลักษณ์ตัวแทนช่วยให้คุณค้นหาข้อมูลที่ตรงกันบางส่วนจากจุดใดก็ได้ในข้อความ
แนวคิดเดียวกันนี้สามารถใช้ค้นหาไดรเวอร์ที่เกี่ยวข้องกับแอปพลิเคชันเฉพาะหรือประเภทของฮาร์ดแวร์ได้ เช่น อัปเดตไดร์เวอร์ USBหากคุณทราบบางส่วนของชื่อ ผู้ผลิต หรือรูปแบบเส้นทางบางอย่าง คุณสามารถ ปรับตัวกรองให้เหมาะสมกับคุณสมบัติที่สบายที่สุด ในแต่ละกรณี.
ดูไดรเวอร์จาก Device Manager และเครื่องมือ Windows อื่นๆ
แม้ว่า PowerShell จะมีประสิทธิภาพมากสำหรับการทำรายการอัตโนมัติและส่งออก แต่ Windows ยังคงมี เครื่องมือกราฟิกคลาสสิกสำหรับการจัดการคอนโทรลเลอร์ ซึ่งควรจะทราบและรวมกับเส้นทางคำสั่ง
จุดอ้างอิงแรกคือ ตัวจัดการอุปกรณ์สามารถเข้าถึงได้โดยคลิกขวาที่ "This PC" แล้วเลือก "Manage" หรือจะเร็วกว่านั้นโดยใช้เมนูบริบทของปุ่ม Start (Windows + X) คุณจะเห็นแผนผังพร้อมหมวดหมู่ฮาร์ดแวร์ทั้งหมดที่ติดตั้งอยู่ในระบบ
อุปกรณ์ที่มีปัญหาในการติดตั้งหรือการทำงานมักจะปรากฏด้วย ไอคอนคำเตือนสีเหลืองหากคุณดับเบิลคลิกที่ใด ๆ หน้าต่างคุณสมบัติจะเปิดขึ้น ซึ่งคุณสามารถตรวจสอบสถานะอุปกรณ์และเข้าถึงแท็บ "ไดรเวอร์" ได้
ภายในแท็บนั้นคุณจะพบตัวเลือกต่างๆ เช่น "รายละเอียดไดรเวอร์", "อัปเดตไดรเวอร์", "ย้อนกลับไดรเวอร์", "ปิดใช้งาน" หรือ "ถอนการติดตั้ง"การดำเนินการเหล่านี้ช่วยให้คุณสามารถดูไฟล์ไดรเวอร์ ค้นหาเวอร์ชันใหม่ ย้อนกลับไปยังเวอร์ชันก่อนหน้า ปิดใช้งานอุปกรณ์โดยไม่ต้องลบออก หรือลบไดรเวอร์ออกจากระบบโดยสมบูรณ์
นอกจากเครื่องมือเหล่านี้แล้ว Windows ยังมีคำสั่ง driverquery เพื่อใช้จาก พรอมต์คำสั่ง (CMD). วิ่ง driverquery คุณจะได้รับรายชื่อไดรเวอร์ที่ติดตั้งทั้งหมดและด้วย driverquery /v คุณจะเห็นข้อมูลรายละเอียดเพิ่มเติม เช่น การใช้หน่วยความจำ วันที่สร้าง หรือสถานะ
driverquery และความสัมพันธ์กับ PowerShell
คำสั่ง driverquery มีความยืดหยุ่นมากและอนุญาตให้ ดูสถานะไดรเวอร์ในมุมมองที่แตกต่างกันตัวอย่างเช่น หากคุณต้องการแสดงรายการเฉพาะไดรเวอร์ที่ลงนามโดยละเอียดมากขึ้น คุณสามารถรันดังนี้:
driverquery /si
โหมดนี้จะแสดง คนขับที่ลงชื่อพร้อมข้อมูลที่เป็นประโยชน์เพิ่มเติม สำหรับการตรวจสอบความปลอดภัยหรือการตรวจสอบความสมบูรณ์ และคุณสามารถปรึกษาได้เสมอ driverquery /? เพื่อดูพารามิเตอร์ทั้งหมดที่มีอยู่และปรับเอาต์พุตให้เหมาะกับความต้องการของคุณ
ข้อดีอย่างหนึ่งของ driverquery คือ คุณสามารถรวมเข้ากับ PowerShell โดยใช้ ConvertFrom-CSVหากคุณสร้างผลลัพธ์ในรูปแบบ CSV และส่งออกไป คุณจะได้รับออบเจ็กต์ที่สามารถจัดการได้จาก 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 มีประโยชน์มาก รับไดรเวอร์ Windowsซึ่งเป็นส่วนหนึ่งของเครื่องมือ DISM ที่สามารถเข้าถึงได้จาก PowerShell
Cmdlet นี้ช่วยให้คุณแสดงข้อมูลเกี่ยวกับแพ็กเกจไดรเวอร์สำหรับการติดตั้ง Windows ที่กำลังรันอยู่และอิมเมจที่เมาท์อยู่ในโฟลเดอร์ ไวยากรณ์หลักแบ่งออกเป็นสองโหมดการใช้งานหลัก: ออฟไลน์และออนไลน์.
สำหรับ รูปภาพออฟไลน์ที่ติดอยู่ในโฟลเดอร์รูปแบบทั่วไปจะเป็นดังนี้:
Get-WindowsDriver -Path "C:\offline"
และเพื่อทำงานกับระบบที่กำลังทำงาน คุณจะต้องใช้พารามิเตอร์ -ออนไลน์:
Get-WindowsDriver -Online
หากไม่มีพารามิเตอร์เพิ่มเติม ให้รับ-WindowsDriver ส่งคืนรายการไดรเวอร์ของบุคคลที่สาม ปรากฏในภาพ หากคุณเพิ่มตัวปรับแต่ง -ทั้งหมดคุณจะเห็นไดร์เวอร์เริ่มต้นที่รวมอยู่ตามค่าเริ่มต้นใน Windows ด้วย
พารามิเตอร์หลักของ Get-WindowsDriver
หนึ่งในพารามิเตอร์ที่สำคัญที่สุดคือ - คนขับซึ่งช่วยให้คุณสามารถระบุได้ ไฟล์ .inf เฉพาะหรือโฟลเดอร์ของไฟล์ .inf เพื่อรับข้อมูลโดยละเอียดเกี่ยวกับไดรเวอร์เหล่านั้น หากคุณชี้ไปที่โฟลเดอร์ ไฟล์ .inf ที่ไม่ใช่แพ็คเกจไดรเวอร์ที่ถูกต้องจะถูกละเว้นโดยอัตโนมัติ
เมื่อคุณทำงานกับภาพออฟไลน์ พารามิเตอร์ -เส้นทาง ระบุเส้นทางรากของอิมเมจที่ติดตั้ง หากโฟลเดอร์ Windows ไม่ได้อยู่ที่ระดับรากนั้น คุณสามารถใช้ -ไดเรกทอรี Windows เพื่อระบุโฟลเดอร์ย่อยที่เกี่ยวข้องที่ตั้งอยู่
พารามิเตอร์ -ระบบไดรฟ์ ใช้ในสถานการณ์ที่เฉพาะเจาะจงมากขึ้น เช่น เมื่อทำงานจาก Windows PE และตัวจัดการการบูตอยู่ในพาร์ติชันอื่น ในกรณีเหล่านี้ ใช้เพื่อระบุไดรฟ์ที่มีไฟล์ BootMgr ที่ควรให้บริการ
ในส่วนของบันทึกกิจกรรมพารามิเตอร์ -เส้นทางบันทึก ช่วยให้คุณกำหนดเส้นทางแบบเต็มไปยังไฟล์บันทึกได้ หากไม่ปรับเปลี่ยน เส้นทางเริ่มต้นจะถูกใช้แทน %WINDIR%\Logs\Dism\dism.logหรือใน Windows PE พื้นที่ว่างใน RAM ในขณะเดียวกัน -ระดับบันทึก กำหนดความละเอียดของบันทึก โดยมีค่าตั้งแต่แค่ข้อผิดพลาดไปจนถึงการรวมข้อมูลการดีบัก
สุดท้ายพารามิเตอร์ -ไดเรกทอรี Scratch นี่คือโฟลเดอร์ชั่วคราวที่ใช้แตกไฟล์ระหว่างการดำเนินการให้บริการ ต้องเป็นเส้นทางภายในเครื่อง และเมื่อการดำเนินการเสร็จสิ้น ไฟล์ชั่วคราว พวกมันจะถูกลบออกโดยอัตโนมัติเพื่อไม่ให้เหลือคราบตกค้าง
ตัวอย่างการใช้งานจริงด้วย Get-WindowsDriver
หากต้องการดูไดรเวอร์ทั้งหมดสำหรับการติดตั้ง Windows ปัจจุบันของคุณอย่างรวดเร็ว คุณสามารถเรียกใช้:
Get-WindowsDriver -Online -All
คำสั่งนี้จะแสดง ไดร์เวอร์ทั้งหมด (ทั้งระบบและของบริษัทอื่น) ปรากฏในอิมเมจที่กำลังทำงาน เป็นวิธีโดยตรงในการดูว่ามีการติดตั้งแพ็กเกจใดบ้างโดยไม่ต้องใช้ WMI หรือ Device Manager
หากคุณกำลังทำงานกับ a รูปภาพติดตั้งใน 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: รับ CMDriver สำหรับแค็ตตาล็อกไดรเวอร์
เมื่อคุณจัดการสภาพแวดล้อมขององค์กรด้วย ตัวจัดการการกำหนดค่า (SCCM)คุณไม่ได้สนใจแค่ไดรเวอร์บนคอมพิวเตอร์แต่ละเครื่องเท่านั้น แต่ยังสนใจแค็ตตาล็อกไดรเวอร์ส่วนกลางที่ SCCM ดูแลรักษาเพื่อการปรับใช้รูปภาพและแพ็คเกจอีกด้วย
ในบริบทนั้น cmdlet จะเข้ามามีบทบาท รับ CMDriver, ที่ใช้ได้กับ ดึงข้อมูลจากไดรเวอร์อุปกรณ์ที่จัดการโดย Configuration ManagerCmdlet นี้มีลายเซ็นหลายรายการขึ้นอยู่กับสิ่งที่คุณต้องการสอบถาม: ตามชื่อ ตามตัวระบุตัวเลข ตามแพ็คเกจไดรเวอร์ หรือตามหมวดหมู่การดูแลระบบ
รูปแบบไวยากรณ์พื้นฐานมีรูปแบบต่างๆ เช่น:
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 หรือใช้ยูทิลิตี้เช่น ตรวจสอบ.exeโปรแกรมตรวจสอบไดรเวอร์ช่วยให้คุณสามารถเลือกไดรเวอร์ที่คุณต้องการตรวจสอบและตรวจจับพฤติกรรมที่ไม่เสถียร แต่อินเทอร์เฟซกราฟิกมีตัวเลือกการแจงนับมากกว่าเวอร์ชันบรรทัดคำสั่ง ซึ่งเน้นที่การสอบถามและการกำหนดค่าการตรวจสอบ
โดยสรุป สำหรับการตรวจสอบสินค้าคงคลังทั่วไปและความต้องการด้านการบริหารส่วนใหญ่ PowerShell, WMI และ Get-WindowsDriver ครอบคลุมพื้นฐานได้ดีมากอย่างไรก็ตาม ในกรณีร้ายแรงของการดีบักไดร์เวอร์แบบโหลดร้อน คุณจะต้องเสริมด้วยเครื่องมือวิเคราะห์เคอร์เนล
อัปเดตไดรเวอร์ด้วย PowerShell โดยใช้ PSWindowsUpdate
นอกเหนือจากการแสดงรายการไดรเวอร์ ผู้ดูแลระบบหลายคนยังใช้ PowerShell เพื่อ อัปเดตไดรเวอร์อัตโนมัติผ่าน windows Update และสำหรับ อัปเดตไดรเวอร์เสียงวิธีหนึ่งที่ใช้กันทั่วไปคือผ่านโมดูล PSWindowsUpdate ซึ่งขยายคำสั่ง cmdlets การอัปเดตมาตรฐาน
การไหลปกติจะผ่านไป เปิดใช้งานการดำเนินการสคริปต์ที่ลงนามชั่วคราวติดตั้งโมดูลและขออัปเดตไดรเวอร์โดยตรงจากเซิร์ฟเวอร์ของ Microsoft
ชุดคำสั่งทั่วไปอาจเป็นดังนี้:
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
วิธีการทำงานแบบนี้มีประโยชน์อย่างยิ่งใน สวนสาธารณะขนาดใหญ่ของทีมนี่คือจุดที่คุณต้องการกำหนดเวอร์ชันไดรเวอร์ให้เป็นมาตรฐานโดยไม่ต้องทำทีละเวอร์ชัน อย่างไรก็ตาม ขอแนะนำให้รวมสิ่งนี้เข้ากับรายการไดรเวอร์ที่มีอยู่แล้ว และในสภาพแวดล้อมที่สำคัญ ควรทดสอบในกลุ่มนำร่องก่อนนำไปใช้งานจริงในองค์กร
นักเขียนผู้หลงใหลเกี่ยวกับโลกแห่งไบต์และเทคโนโลยีโดยทั่วไป ฉันชอบแบ่งปันความรู้ผ่านการเขียน และนั่นคือสิ่งที่ฉันจะทำในบล็อกนี้ เพื่อแสดงให้คุณเห็นสิ่งที่น่าสนใจที่สุดเกี่ยวกับอุปกรณ์ ซอฟต์แวร์ ฮาร์ดแวร์ แนวโน้มทางเทคโนโลยี และอื่นๆ เป้าหมายของฉันคือการช่วยคุณนำทางโลกดิจิทัลด้วยวิธีที่เรียบง่ายและสนุกสนาน
