Πώς να καταχωρίσετε και να διαχειριστείτε προγράμματα οδήγησης από το PowerShell στα Windows

Τελευταία ενημέρωση: 04/12/2025
Συγγραφέας: Ισαάκ
  • PowerShell Σας επιτρέπει να καταχωρείτε, να φιλτράρετε και να εξάγετε οδηγοί με cmdlets όπως Get-WmiObject και Get-WindowsDriver.
  • driverquery, το Διαχείριση συσκευών και το SCCM (Get-CMDriver) συμπληρώνουν το απόθεμα ελεγκτών.
  • Ορισμένα δυναμικά φορτωμένα προγράμματα οδήγησης απαιτούν πρόσθετα εργαλεία όπως WinDbg ή verifier.
  • Ενότητες όπως το PSWindowsUpdate και εξωτερικά βοηθητικά προγράμματα διευκολύνουν την ενημέρωση και τη διατήρηση των προγραμμάτων οδήγησης ενημερωμένων.

Λίστα προγραμμάτων οδήγησης από το PowerShell

Σε περιβάλλοντα Windows, ελέγχει ποια προγράμματα οδήγησης είναι εγκατεστημένα και ποια έκδοση έχει το καθένα Είναι το κλειδί για τη διατήρηση της σταθερότητας του συστήματος, την αντιμετώπιση προβλημάτων με μπλε οθόνες ή την προετοιμασία για μετεγκαταστάσεις. Το PowerShell έχει γίνει ένα απίστευτα βολικό εργαλείο για την εκτέλεση αυτού του τύπου απογραφής χωρίς να χρειάζεται να χρησιμοποιείτε τη Διαχείριση Συσκευών μία προς μία.

Στις επόμενες γραμμές θα δείτε Πώς να καταχωρίσετε ελεγκτές από το PowerShell με διάφορους τρόπους και πώς να τους εξάγετε σε αρχεία για να τα αναλύσω ήρεμα, ποιες διαφορές υπάρχουν με άλλους εντολές ως driverquery ή γραφικά εργαλεία, ακόμη και πώς να χειρίζεστε πιο προηγμένα σενάρια, όπως εικόνες εκτός σύνδεσης ή δυναμικά φορτωμένα προγράμματα οδήγησης.

Τι είναι ένα πρόγραμμα οδήγησης και γιατί θα θέλατε να το καταχωρίσετε από το PowerShell;

Προγράμματα οδήγησης συσκευών στα Windows

Στα Windows, ένας ελεγκτής ή πρόγραμμα οδήγησης είναι ένα μικρό μπλοκ λογισμικού που λειτουργεί ως ενδιάμεσος μεταξύ του λειτουργικού συστήματος και ενός στοιχείου του υλικού (κάρτα γραφικών, chipset, αποθήκευσηπεριφερειακά USBκ.λπ.). Αν και ο κώδικας που καταλαμβάνουν δεν είναι τεράστιος, η επίδρασή τους στη σταθερότητα του συστήματος είναι γιγαντιαία.

Όταν ένας κρίσιμος οδηγός (για παράδειγμα, αποθηκευτικό χώρο, δίκτυο, γραφικά ή chipset) δυσλειτουργίες, μπορεί να προκαλέσουν διακοπές λειτουργίας, απώλεια απόδοσης, ακόμη και μπλε οθόνες (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:\drivers.txt με μια απλή λίστα συσκευών και εκδόσεων. Ιδανικό για γρήγορη αναφορά ή επισύναψη σε μια αναφορά χωρίς ιδιαίτερη ταλαιπωρία.

Όταν ψάχνετε για κάτι πιο διαχειρίσιμο για φιλτράρισμα και ταξινόμηση, η καλύτερη επιλογή είναι να χρησιμοποιήσετε CSV και το cmdlet Export-CSVΈνα πολύ συνηθισμένο παράδειγμα θα ήταν:

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

Με αυτήν την εντολή, ένα αρχείο με όνομα MyDrivers.csv το οποίο μπορείτε να ανοίξετε στο Excel ή σε οποιοδήποτε πρόγραμμα υπολογιστικών φύλλων ταξινόμηση κατά έκδοση, φιλτράρισμα κατά ημερομηνία προγράμματος οδήγησης, αναζήτηση για συγκεκριμένους κατασκευαστέςΚ.λπ.

Αν και μερικές φορές λέγεται ότι το PowerShell "δεν επιτρέπει την εξαγωγή" της λίστας προγραμμάτων οδήγησης, στην πραγματικότητα Ναι, μπορεί να εξαχθεί τέλεια. Χρησιμοποιώντας ανακατεύθυνση εξόδου ή εξαγωγή-CSV, όπως μόλις είδατε. Στη συνέχεια, μπορείτε να αντιγράψετε, να επικολλήσετε ή να εργαστείτε με αυτές τις πληροφορίες όπου θέλετε.

  25 εκπληκτικά εργαλεία για εξαγωγή αρχείων ήχου από βίντεο

Φιλτράρισμα προγραμμάτων οδήγησης κατά κατασκευαστή, όνομα ή συγκεκριμένο κείμενο

Κανονικά, δεν θα θέλετε να δείτε όλα τα προγράμματα οδήγησης ταυτόχρονα, αλλά να εστιάσετε σε έναν συγκεκριμένο κατασκευαστή ή τύπο συσκευής. Για αυτό, μπορείτε αλυσιδωτή σύνδεση φίλτρων με το Where-Object σχετικά με τις ιδιότητες κάθε οδηγού.

Για παράδειγμα, αν ενδιαφέρεστε να διατηρήσετε μόνο τους οδηγούς για IntelΘα μπορούσατε να κάνετε κάτι τόσο απλό όσο:

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 Θα δείτε πιο λεπτομερείς πληροφορίες, όπως χρήση μνήμης, ημερομηνία δημιουργίας ή κατάσταση.

driverquery και η σχέση του με το PowerShell

Η εντολή driverquery είναι πολύ ευέλικτη και επιτρέπει Δείτε διαφορετικές προβολές της κατάστασης του οδηγούΓια παράδειγμα, αν θέλετε να παραθέσετε μόνο τα υπογεγραμμένα προγράμματα οδήγησης με περισσότερες λεπτομέρειες, μπορείτε να εκτελέσετε την εξής διαδικασία:

driverquery /si

Αυτή η λειτουργία εμφανίζει υπογεγραμμένοι οδηγοί με πρόσθετες χρήσιμες πληροφορίες για ελέγχους ασφαλείας ή ελέγχους ακεραιότητας. Και μπορείτε πάντα να συμβουλεύεστε driverquery /? για να δείτε όλες τις διαθέσιμες παραμέτρους και να προσαρμόσετε την έξοδο στις ανάγκες σας.

Ένα από τα πλεονεκτήματα του driverquery είναι ότι Μπορείτε να το ενσωματώσετε με το PowerShell χρησιμοποιώντας το ConvertFrom-CSVΕάν δημιουργήσετε την έξοδο σε μορφή CSV και την μεταφέρετε σε μορφή pipe, θα λάβετε αντικείμενα που μπορούν να χειριστούν από το 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 όσο και για μια εικόνα που είναι τοποθετημένη σε έναν φάκελο. Η κύρια σύνταξη χωρίζεται σε δύο κύριες λειτουργίες χρήσης: εκτός σύνδεσης και στο διαδίκτυο.

  Πώς να διαγράψετε αρχεία που χρησιμοποιούνται στα Windows βήμα προς βήμα

Για ένα εικόνα εκτός σύνδεσης τοποθετημένη σε φάκελοΗ γενική μορφή θα ήταν:

Get-WindowsDriver -Path "C:\offline"

Και για να εργαστείτε ενάντια στο τρέχον σύστημα, θα χρησιμοποιούσατε την παράμετρο -Σε σύνδεση:

Get-WindowsDriver -Online

Χωρίς πρόσθετες παραμέτρους, το Get-WindowsDriver επιστρέφει τη λίστα προγραμμάτων οδήγησης τρίτων κατασκευαστών που υπάρχει στην εικόνα. Εάν προσθέσετε τον τροποποιητή -ΟλοιΘα δείτε επίσης τα προεπιλεγμένα προγράμματα οδήγησης που περιλαμβάνονται από προεπιλογή στα Windows.

Βασικές παράμετροι του Get-WindowsDriver

Μία από τις πιο σημαντικές παραμέτρους είναι -Οδηγόςπου σας επιτρέπει να προσδιορίσετε ένα συγκεκριμένο αρχείο .inf ή έναν φάκελο με αρχεία .inf Για να λάβετε λεπτομερείς πληροφορίες σχετικά με αυτά τα προγράμματα οδήγησης. Εάν υποδείξετε έναν φάκελο, τα αρχεία .inf που δεν είναι έγκυρα πακέτα προγραμμάτων οδήγησης αγνοούνται αυτόματα.

Όταν εργάζεστε με μια εικόνα εκτός σύνδεσης, η παράμετρος -Μονοπάτι καθορίζει τη διαδρομή ρίζας της προσαρτημένης εικόνας. Εάν ο φάκελος των Windows δεν βρίσκεται ακριβώς σε αυτό το επίπεδο ρίζας, μπορείτε να χρησιμοποιήσετε -Κατάλογος των Windows για να καθορίσετε τον σχετικό υποφάκελο στον οποίο βρίσκεται.

Παράμετρος -SystemDrive Χρησιμοποιείται σε πιο συγκεκριμένα σενάρια, όπως όταν εργάζεστε από Windows PE και ο διαχειριστής εκκίνησης βρίσκεται σε διαφορετικό διαμέρισμα. Σε αυτές τις περιπτώσεις, χρησιμεύει για να καθορίσει τη μονάδα δίσκου που περιέχει τα αρχεία BootMgr που πρέπει να εξυπηρετηθούν.

Όσον αφορά το αρχείο καταγραφής δραστηριοτήτων, η παράμετρος -Διαδρομή καταγραφής Σας επιτρέπει να ορίσετε την πλήρη διαδρομή προς το αρχείο καταγραφής. Εάν δεν την προσαρμόσετε, θα χρησιμοποιηθεί η προεπιλεγμένη διαδρομή. %WINDIR%\Logs\Dism\dism.logή στα Windows PE, ο χώρος εκκίνησης στη μνήμη RAM. Εν τω μεταξύ, -Επίπεδο καταγραφής καθορίζει την αναλυτικότητα του αρχείου καταγραφής, με τιμές που κυμαίνονται από απλώς σφάλματα έως πληροφορίες εντοπισμού σφαλμάτων.

Τέλος, η παράμετρος -Κατάλογος Scratch Αυτός είναι ο προσωρινός φάκελος όπου εξάγονται τα αρχεία κατά τη διάρκεια των λειτουργιών εξυπηρέτησης. Πρέπει να είναι μια τοπική διαδρομή και, μόλις ολοκληρωθεί η λειτουργία, το προσωρινά αρχεία Αφαιρούνται αυτόματα για να μην αφήνουν υπολείμματα.

Πρακτικά παραδείγματα με το Get-WindowsDriver

Για να δείτε γρήγορα όλα τα προγράμματα οδήγησης για την τρέχουσα εγκατάσταση των Windows, μπορείτε να εκτελέσετε την εντολή:

Get-WindowsDriver -Online -All

Αυτή η εντολή θα εμφανιστεί όλα τα προγράμματα οδήγησης (τόσο του συστήματος όσο και τρίτων κατασκευαστών) που υπάρχει στην εικόνα που εκτελείται. Είναι ένας πολύ άμεσος τρόπος για να δείτε ποια πακέτα είναι εγκατεστημένα χωρίς να χρησιμοποιήσετε WMI ή Device Manager.

Εάν εργάζεστε με ένα εικόνα τοποθετημένη στο 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, Αυτό λειτουργεί για Ανάκτηση πληροφοριών από προγράμματα οδήγησης συσκευών που διαχειρίζεται το Configuration ManagerΑυτό το 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) και θέλετε να δείτε μόνο ορισμένες σχετικές ιδιότητες, μπορείτε να χρησιμοποιήσετε κάτι όπως:

  Αποτυχία λήψης – Σφάλμα ανεπαρκών δικαιωμάτων στο Chrome

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), που σχετίζονται με την Εξερεύνηση Διεργασιών. Αυτός ο τύπος προγράμματος οδήγησης ενδέχεται να μην εμφανίζεται σε τυπικά ερωτήματα του Get-WmiObject Win32_SystemDriverκαθώς αυτά τα ερωτήματα βασίζονται σε πληροφορίες από υπηρεσίες μητρώου (CurrentControlSet\Services) και συνήθως αντικατοπτρίζουν κυρίως προγράμματα οδήγησης που είναι φορτωμένα στο σύστημα.

Ομοίως, Το driverquery ενδέχεται να μην εμφανίζει όλα τα προγράμματα οδήγησης που έχουν εισαχθεί δυναμικάΕπομένως, εάν κάνετε εντοπισμό σφαλμάτων σε BSOD ή σε ανώμαλη συμπεριφορά που προκαλείται από εργαλεία τρίτων που φορτώνουν τα δικά τους προγράμματα οδήγησης, ίσως χρειαστεί να καταφύγετε σε άλλες μεθόδους.

Μεταξύ αυτών των εναλλακτικών λύσεων είναι εξετάζω χωματερές μνήμης πυρήνας με εργαλεία όπως το WinDbg ή χρησιμοποιήστε βοηθητικά προγράμματα όπως verifier.exeΟ επαληθευτής προγράμματος οδήγησης σάς επιτρέπει να επιλέξετε προγράμματα οδήγησης που θέλετε να παρακολουθείτε και να ανιχνεύετε ασταθή συμπεριφορά, αλλά η γραφική διεπαφή προσφέρει περισσότερες επιλογές απαρίθμησης από την έκδοση γραμμής εντολών, η οποία εστιάζει στην υποβολή ερωτημάτων και τη ρύθμιση παραμέτρων της επαλήθευσης.

Εν ολίγοις, για ένα γενικό απόθεμα και για τις περισσότερες διοικητικές ανάγκες, Τα PowerShell, WMI και Get-WindowsDriver καλύπτουν τις βασικές αρχές πολύ καλά.Ωστόσο, σε ακραίες περιπτώσεις εντοπισμού σφαλμάτων σε προγράμματα οδήγησης που έχουν φορτωθεί εν ώρα λειτουργίας, θα χρειαστεί να συμπληρώσετε με εργαλεία ανάλυσης πυρήνα.

Ενημέρωση προγραμμάτων οδήγησης με PowerShell χρησιμοποιώντας το PSWindowsUpdate

Εκτός από την καταχώριση των προγραμμάτων οδήγησης, πολλοί διαχειριστές χρησιμοποιούν το PowerShell για να αυτοματοποιήστε τις ενημερώσεις προγραμμάτων οδήγησης μέσω Το windows Update και επίσης για ενημέρωση προγραμμάτων οδήγησης ήχουΜια μέθοδος που χρησιμοποιείται συνήθως είναι μέσω της ενότητας PSWindowsUpdate, η οποία επεκτείνει τα τυπικά cmdlet ενημέρωσης.

Η συνήθης ροή περνάει μέσα από προσωρινή ενεργοποίηση εκτέλεσης υπογεγραμμένων σεναρίωνΕγκαταστήστε τη λειτουργική μονάδα και, στη συνέχεια, ζητήστε ενημερώσεις προγραμμάτων οδήγησης απευθείας από τους διακομιστές της 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

Αυτός ο τρόπος εργασίας είναι ιδιαίτερα πρακτικός σε μεγάλα ομαδικά πάρκαΕδώ είναι που θέλετε να τυποποιήσετε τις εκδόσεις προγραμμάτων οδήγησης χωρίς να τις εξετάσετε μία προς μία. Ωστόσο, συνιστάται πάντα να το συνδυάσετε αυτό με ένα καλό προηγούμενο απόθεμα προγραμμάτων οδήγησης και, σε κρίσιμα περιβάλλοντα, να το δοκιμάσετε σε μια πιλοτική ομάδα πριν από την ανάπτυξή του σε ολόκληρο τον οργανισμό.

Περιφερειακά των Windows, προβλήματα με τα προγράμματα οδήγησης
σχετικό άρθρο:
Πλήρης οδηγός για την αφαίρεση συσκευών-φανταστικών και ορφανών προγραμμάτων οδήγησης στα Windows