כיצד לפרט ולנהל מנהלי התקנים מ-PowerShell ב-Windows

העדכון אחרון: 04/12/2025
מחבר: יצחק
  • PowerShell permite listar, filtrar y exportar נהגים con cmdlets como Get-WmiObject y Get-WindowsDriver.
  • driverquery, el מנהל ההתקנים y SCCM (Get-CMDriver) complementan el inventario de controladores.
  • Algunos drivers cargados dinámicamente requieren herramientas adicionales como WinDbg o verifier.
  • Módulos como PSWindowsUpdate y utilidades externas facilitan actualizar y mantener los drivers al día.

רשימת מנהלי התקנים מ-PowerShell

בסביבות Windows, לשלוט באילו מנהלי התקנים מותקנים ובאיזו גרסה יש לכל אחד מהם es clave para mantener la estabilidad del sistema, solucionar pantallazos azules o preparar migraciones. PowerShell se ha convertido en una herramienta comodísima para hacer este tipo de inventario sin tener que ir uno por uno por el Administrador de dispositivos.

בשורות הבאות תראו כיצד לרשום בקרים מ-PowerShell בדרכים שונות, וכיצד לייצא אותם לקבצים כדי לנתח אותם ברוגע, אילו הבדלים יש עם אחרים פקוד כמו driverquery או כלים גרפיים, ואפילו כיצד להתמודד עם תרחישים מתקדמים יותר כגון תמונות לא מקוונות או מנהלי התקנים שנטענים באופן דינמי.

מהו דרייבר ומדוע כדאי לפרט אותו מ-PowerShell?

מנהלי התקנים ב-Windows

ב-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)

במציאות, צפייה ברשימה על המסך היא לעיתים רחוקות מספיקה. הגישה הנוחה ביותר היא... שמור את התוצאה בקובץ לנתח אותו באקסל, לשתף אותו עם הצוות, או לשמור אותו כתמונת מצב של מצב המערכת לפני ביצוע שינויים כלשהם, לדוגמה, לפני מחיקת דרייברים ישנים.

אם אתה זקוק רק לרשימת טקסט רגילה מהירה, תוכל להפנות את הפלט לקובץ:

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

הפקודה הזו יוצרת קובץ C:\drivers.txt עם רשימה פשוטה של ​​מכשירים וגרסאות. אידיאלי לעיון מהיר או לצירוף לדוח ללא יותר מדי טרחה.

כשאתם מחפשים משהו קל יותר לסינון ומיון, האפשרות הטובה ביותר היא להשתמש ב CSV ו-cmdlet Export-CSVדוגמה נפוצה מאוד תהיה:

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

בעזרת פקודה זו, קובץ בשם מנהלי התקנים שלי.csv שניתן לפתוח באקסל או בכל תוכנת גיליון אלקטרוני אחרת מיין לפי גרסה, סנן לפי תאריך מנהל התקן, חפש יצרנים ספציפיים, וכו '

למרות שלפעמים אומרים ש-PowerShell "לא מאפשר ייצוא" של רשימת הדרייברים, במציאות כן, ניתן לייצא אותו בצורה מושלמת. באמצעות ניתוב מחדש של פלט או ייצוא CSV, כפי שראיתם זה עתה. לאחר מכן תוכלו להעתיק, להדביק או לעבוד עם המידע הזה בכל מקום שתרצו.

  אפשר או השבת את SuperFetch ב-Home windows 10

סנן מנהלי התקנים לפי יצרן, שם או טקסט ספציפי

בדרך כלל, לא תרצו לראות את כל הדרייברים בבת אחת, אלא להתמקד ביצרן או בסוג מכשיר ספציפי. לשם כך, תוכלו שרשור מסננים עם Where-Object לגבי המאפיינים של כל דרייבר.

לדוגמה, אם אתם מעוניינים לשמור רק את הדרייברים עבור אינטלאתה יכול לעשות משהו פשוט כמו:

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

פקודה זו עוברת על כל הערכים המוחזרים על ידי WMI ו- הוא שומר רק על אלו ששם ההתקן שלהם מכיל את המחרוזת "Intel"שימוש בכוכבית כתו כללי מאפשר לך לחפש התאמות חלקיות בכל מקום בטקסט.

ניתן להשתמש באותו רעיון כדי לאתר מנהלי התקנים הקשורים ליישום או סוג חומרה ספציפיים, לדוגמה עבור עדכן מנהלי התקן USBאם אתם יודעים חלק מהשם, היצרן או דפוס כלשהו של המסלול, תוכלו התאם את המסנן לנכס הנוח ביותר בכל מקרה.

הצג מנהלי התקנים ממנהל ההתקנים ומכלי Windows אחרים

למרות ש-PowerShell חזק מאוד לאוטומציה וייצוא של רשימות, Windows עדיין מציע... כלים גרפיים קלאסיים לניהול בקרים אשר צריך להיות ידוע ולשלב עם נתיב הפקודה.

נקודת ההתייחסות הראשונה היא מנהל ההתקניםניתן לגשת אליו על ידי לחיצה ימנית על "מחשב זה" ובחירה ב"נהל", או במהירות רבה יותר באמצעות תפריט ההקשר של לחצן התחל (Windows + X). שם תראו עץ עם כל קטגוריות החומרה המותקנות במערכת.

מכשירים שיש להם בעיות התקנה או הפעלה מופיעים לעתים קרובות עם סמל אזהרה צהובאם תלחצו פעמיים על אחד מהם, ייפתח חלון המאפיינים, שם תוכלו לבדוק את מצב ההתקן ולגשת לכרטיסייה "מנהל התקן".

בתוך כרטיסייה זו תמצאו אפשרויות כגון "פרטי מנהל התקן", "עדכון מנהל התקן", "החזר מנהל התקן למצב קודם", "השבת" או "הסר התקנה"פעולות אלה מאפשרות לך לצפות בקבצי מנהל ההתקן, לחפש גרסאות חדשות, לחזור לגרסה קודמת, להשבית את ההתקן מבלי להסירו, או להסיר לחלוטין את מנהל ההתקן מהמערכת.

בנוסף לכלים אלה, Windows כולל את הפקודה driverquery לשימוש מ- שורת הפקודה (CMDריצה driverquery תקבלו רשימה של כל הדרייברים המותקנים, ועם driverquery /v תראה מידע מפורט יותר, כגון שימוש בזיכרון, תאריך בנייה או סטטוס.

שאילתת מנהלי התקנים והקשר שלה עם PowerShell

פקודת driverquery גמישה מאוד ומאפשרת הצג תצוגות שונות של מצב הנהגלדוגמה, אם ברצונך לפרט רק מנהלי התקנים חתומים, תוכל להריץ:

driverquery /si

מצב זה מציג נהגים חתומים עם מידע שימושי נוסף עבור ביקורות אבטחה או בדיקות שלמות. ותמיד תוכלו להתייעץ driverquery /? כדי לראות את כל הפרמטרים הזמינים ולהתאים את הפלט לצרכים שלך.

אחד היתרונות של שאילתת נהגים הוא ש ניתן לשלב אותו עם PowerShell באמצעות ConvertFrom-CSVאם תיצרו את הפלט בפורמט CSV ותעבירו אותו ל-Pipe, תקבלו אובייקטים שניתן לתפעל מ-PowerShell. דוגמה קלאסית תהיה:

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

עם זה אתה משלב כוחה של שאילתת מנהלי התקנים עם מניפולציית נתונים של PowerShellבחירת העמודות שמעניינות אותך בלבד: שם תצוגה, מצב אתחול, זיכרון מדורג ונתיב מנהל ההתקן בדיסק. זה שימושי כשרוצים לסנן לפי סוגים ספציפיים, כגון מנהלי התקנים גרפיים.

יש לציין כי גם שאילתות driver וגם שאילתות 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

ללא פרמטרים נוספים, Get-WindowsDriver מחזירה את רשימת מנהלי ההתקנים של צד שלישי קיים בתמונה. אם תוסיף את המגדיר -את כלתראה גם מנהלי התקנים המוגדרים כברירת מחדל ב-Windows.

פרמטרים מרכזיים של Get-WindowsDriver

אחד הפרמטרים החשובים ביותר הוא -נהגמה שמאפשר לך לציין קובץ .inf ספציפי או תיקייה של קבצי .inf כדי לקבל מידע מפורט על מנהלי התקנים אלה. אם תצביע על תיקייה, קבצי .inf שאינם חבילות מנהלי התקנים חוקיות יתעלמו אוטומטית.

כשאתה עובד עם תמונה לא מקוונת, הפרמטר -נָתִיב מציין את נתיב הבסיס של התמונה המותקנת. אם תיקיית Windows אינה נמצאת ברמת הבסיס הזו, ניתן להשתמש -ספריית Windows כדי לציין את תיקיית המשנה היחסית שבה הוא ממוקם.

פָּרָמֶטֶר -כונן מערכת הוא משמש בתרחישים ספציפיים יותר, כגון בעת ​​עבודה מ-Windows PE ומנהל האתחול נמצא במחיצה אחרת. במקרים אלה, הוא משמש לציון הכונן המכיל את קבצי BootMgr שיש לשרת.

לגבי יומן הפעילות, הפרמטר -נתיב_לוג זה מאפשר לך להגדיר את הנתיב המלא לקובץ היומן. אם לא תשנה אותו, ייעשה שימוש בנתיב ברירת המחדל. %WINDIR%\Logs\Dism\dism.logאו ב-Windows PE, שטח הזיכרון הקצר בזיכרון RAM. בינתיים, -רמת לוג קובע את רמת המלל של היומן, עם ערכים הנעים בין שגיאות בלבד ועד למידע על ניפוי שגיאות.

לבסוף, הפרמטר -מדריך סקראטץ' זוהי התיקייה הזמנית שממנה מחולצים קבצים במהלך פעולות שירות. זה חייב להיות נתיב מקומי, ולאחר השלמת הפעולה, קבצים זמניים הם מוסרים אוטומטית כדי שלא ישאירו שאריות.

דוגמאות מעשיות עם Get-WindowsDriver

כדי לראות במהירות את כל מנהלי ההתקנים עבור התקנת Windows הנוכחית שלך, תוכל להריץ:

Get-WindowsDriver -Online -All

פקודה זו תוצג כל הדרייברים (גם של המערכת וגם של צד שלישי) נוכח בתמונה הפעילה. זוהי דרך ישירה מאוד לראות אילו חבילות מותקנות מבלי להשתמש ב-WMI או במנהל ההתקנים.

אם אתם עובדים עם א תמונה מותקנת ב-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: Get-CMDriver עבור קטלוגי מנהלי התקנים

כאשר אתה מנהל סביבה ארגונית עם מנהל תצורה (SCCM)אתם לא מתעניינים רק בדרייברים בכל מחשב, אלא גם בקטלוג המרכזי של דרייברים ש-SCCM מתחזק לפריסת תמונות וחבילות.

בהקשר זה, ה-cmdlet נכנס לתמונה. Get-CMDriver, זה עובד בשביל אחזור מידע ממנהלי התקנים המנוהלים על ידי מנהל התצורהל-cmdlet זה יש מספר חתימות בהתאם למה שברצונך לבצע שאילתה: לפי שם, לפי מזהה מספרי, לפי חבילת מנהל התקן או לפי קטגוריה מנהלית.

התחביר הבסיסי כולל וריאציות כגון:

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, אתה שומר רק את העמודות ששימושיות לך לניתוח שלך.

אם אתם מנהלים קטגוריות אדמיניסטרטיביות (לדוגמה, קטגוריה "Surface" שבה אתם מקבצים את כל הבקרים הללו), תוכלו לשרשר אחזור קטגוריות ודרייברים כך:

$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 לא יפרט את כל מנהלי ההתקנים שהוזרקו דינמיתאז אם אתם מנפים באגים של BSODs או התנהגות חריגה הנגרמת על ידי כלים של צד שלישי שטוענים את הדרייברים שלהם, ייתכן שתצטרכו לנקוט בשיטות אחרות.

בין חלופות אלה נמצאות לִבחוֹן זריקות זיכרון גַרעִין בעזרת כלים כמו WinDbg, או השתמשו בכלי עזר כמו verifier.exeמאמת מנהלי ההתקנים מאפשר לך לבחור מנהלי התקנים שברצונך לנטר ולזהות התנהגות לא יציבה, אך הממשק הגרפי מציע אפשרויות ספירה רבות יותר מאשר גרסת שורת הפקודה, המתמקדת בשאילתות ובקביעת תצורה של אימות.

בקיצור, עבור מלאי כללי ועבור רוב הצרכים המנהליים, PowerShell, WMI ו-Get-WindowsDriver מכסים את הבסיסים היטב.עם זאת, במקרים קיצוניים של ניפוי שגיאות של מנהלי התקנים שנטענים בחום, תצטרכו להשלים עם כלי ניתוח ליבה.

עדכון מנהלי התקנים עם PowerShell באמצעות PSWindowsUpdate

בנוסף לרישום מנהלי התקנים, מנהלי מערכת רבים משתמשים ב-PowerShell כדי אוטומציה של עדכוני מנהלי התקנים באמצעות Windows Update וגם עבור עדכון דרייברים של קולשיטה נפוצה אחת היא באמצעות מודול PSWindowsUpdate, אשר מרחיב את כלי ה-cmdlet הסטנדרטיים של עדכונים.

הזרימה הרגילה עוברת דרכה לאפשר באופן זמני ביצוע של סקריפטים חתומיםהתקן את המודול ולאחר מכן בקש עדכוני מנהלי התקנים ישירות משרתי מיקרוסופט.

קבוצה טיפוסית של פקודות עשויה להיות:

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

דרך עבודה זו פרקטית במיוחד ב פארקי צוות גדוליםכאן כדאי לתקנן גרסאות של מנהלי התקנים מבלי לעבור על גרסאות אחת אחת. עם זאת, תמיד מומלץ לשלב זאת עם מלאי טוב מראש של מנהלי התקנים, ובסביבות קריטיות, לבצע בדיקות בקבוצת פיילוט לפני הפריסה בכל הארגון.

ציוד היקפי של Windows, בעיות במנהלי התקנים
Artaculo relacionado:
מדריך מלא להסרת התקני רפאים ומנהלי התקנים יתומים ב-Windows