Question obtenir la version du pilote via la ligne de commande Windows


Est-il possible d'obtenir la version du pilote installé via la ligne de commande sur un système Windows 7.

J'ai déjà essayé driverquery mais il n'y a pas d'informations sur la version des pilotes, seulement un Linkdate. (Au fait, qu'est-ce que cette date de lien signifie?)

Je ne veux pas d'outils ou de programmes. J'ai besoin d'une commande de ligne de commande.

Ou puis-je obtenir la version du registre?


4
2018-03-18 16:26


origine




Réponses:


Est-il possible d'obtenir la version du pilote installé via la ligne de commande

Vous pouvez utiliser le script PowerShell suivant:

Get-WmiObject Win32_PnPSignedDriver| select devicename, driverversion

Exemple de sortie:

PS F:\test> Get-WmiObject Win32_PnPSignedDriver| select devicename, driverversion

devicename                                                                                          driverversion
----------                                                                                          -------------
Generic volume                                                                                      6.1.7601.17514
Generic volume                                                                                      6.1.7601.17514
Generic volume shadow copy                                                                          6.1.7600.16385
Generic volume shadow copy                                                                          6.1.7600.16385
Generic volume shadow copy                                                                          6.1.7600.16385
Generic volume shadow copy                                                                          6.1.7600.16385
Generic volume shadow copy                                                                          6.1.7600.16385
Generic volume shadow copy                                                                          6.1.7600.16385
Generic volume shadow copy                                                                          6.1.7600.16385
Generic volume                                                                                      6.1.7601.17514
Generic volume                                                                                      6.1.7601.17514
Generic volume                                                                                      6.1.7601.17514
Volume Manager                                                                                      6.1.7601.17514
Microsoft Virtual Drive Enumerator Driver                                                           6.1.7601.17514
Cruzer                                                                                              6.1.7600.16385
UMBus Enumerator                                                                                    6.1.7601.17514
UMBus Enumerator                                                                                    6.1.7601.17514
UMBus Root Bus Enumerator                                                                           6.1.7601.17514
Atheros Bluetooth Bus                                                                               6.30.1208.302
Plug and Play Software Device Enumerator                                                            6.1.7601.17514
Terminal Server Mouse Driver                                                                        6.1.7601.17514
Terminal Server Keyboard Driver                                                                     6.1.7601.17514
WAN Miniport (SSTP)                                                                                 6.1.7601.17514
WAN Miniport (PPTP)                                                                                 6.1.7601.17514
WAN Miniport (PPPOE)                                                                                6.1.7601.17514

...


4
2018-01-11 18:09



Cela fonctionne très bien, merci! Si vous le voulez pour un périphérique particulier, faites Get-WmiObject Win32_PnPSignedDriver -Filter "DeviceName = 'NVIDIA GeForce GTX 770'" | select devicename, driverversion. Je recherche par nom d'appareil, mais vous pouvez également rechercher par d'autres champs. faire Get-WmiObject Win32_PnPSignedDriver pour vos options. - legends2k
Je voulais voir les pilotes regroupés par compagnie, alors j'ai ajouté une sorte et une autre colonne: Get-WmiObject Win32_PnPSignedDriver | Sort-Object -Property DriverProviderName, devicename | select devicename, driverversion, DriverProviderName, DriverDate Remarque: les colonnes supplémentaires ne s'affichent que si votre fenêtre est suffisamment large (utilisez la barre de titre R-click> Propriétés> Disposition> Largeur). - PolyTekPatrick


Vous pouvez utiliser VBScript ou JScript pour obtenir ce que vous voulez. Comme vous n'avez pas indiqué pour quel pilote vous vouliez le numéro de version, voici un script hybride batch / JScript qui les transfère tous vers la console pour vous. Enregistrer ceci comme driverversion.bat:

@if (@a==@b) @end /*
:: batch portion

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%I in ('driverquery /v /nh /fo csv') do (
    set idx=0
    for %%x in (%%I) do (
        set /a "idx+=1"
        if !idx!==1 (
            set /p "=%%~x version "<NUL
        ) else if !idx!==14 (
            if exist "%%~x" (
                cscript /nologo /e:jscript "%~f0" "%%~x"
            ) else echo N/A
        )
    )
)

goto :EOF

:: JScript portion */
WSH.Echo(new ActiveXObject("Scripting.FileSystemObject").GetFileVersion(WSH.Arguments(0)));

3
2018-03-18 19:20





Vous pouvez utiliser driverquery /v pour inclure les fichiers de pilote avec la liste, mais AFAICS, vous ne pourrez pas obtenir le numéro de version des fichiers sans logiciel supplémentaire. Un outil que vous pourriez utiliser serait sigcheck de SysIntern ^ WMicrosoft.

@echo off

for /f "delims=, tokens=14" %%d in ('driverquery /v /nh /fo csv') do (
  for /f %%v in ('sigcheck -accepteula -q -n "%%~d"') do (
    echo %%~d %%~v
  )
)

Vous ne pouvez pas extraire la version du registre car les informations sont stockées dans le fichier lui-même.

La date du lien est probablement la date à laquelle le fichier était lié, c’est-à-dire la date de création.


2
2018-03-18 18:59





Voici une version améliorée de la liste de tous les pilotes incluant la version utilisant Sigcheck de Sysinternals Tools:

@echo off

for /f "tokens=* delims=" %%a in ('driverquery /v /nh /fo csv') do (
    SET str=%%a
    SETLOCAL enabledelayedexpansion
    SET str=!str:","=";"!
    for /f "tokens=1,2,14 delims=;" %%d in (!str!) do (
        ENDLOCAL
        for /f "tokens=* delims=" %%v in ('sigcheck -accepteula -q -n "%%f"') do (
            REM echo %%a,^"'%%v^"
            echo ^"%%d,%%e,%%f,^"'%%v^"
            REM echo ^"%%d,^"'%%v^"
        )
    )
)
pause

Une version étendue qui écrit les informations directement dans un fichier csv:

@echo off
set DRIVER_LOG="Drivers_%computername%.csv"

echo Drivers - %computername% - %date% > %DRIVER_LOG%

for /f "tokens=* delims=" %%a in ('driverquery /v /nh /fo csv') do (
    SET str=%%a
    SETLOCAL enabledelayedexpansion
    SET str=!str:","=";"!
    for /f "tokens=1,2,14 delims=;" %%d in (!str!) do (
        ENDLOCAL
        for /f "tokens=* delims=" %%v in ('sigcheck -accepteula -q -n "%%f"') do (
            REM echo %%a,^"'%%v^" >> %DRIVER_LOG%
            echo ^"%%d,%%e,%%f,^"'%%v^" >> %DRIVER_LOG%
            REM echo ^"%%d,^"'%%v^" >> %DRIVER_LOG%
        )
    )
)
pause

Certaines variantes sont possibles ...
 
... pour tous les détails, veuillez utiliser:

echo %%a,^"'%%v^"

... pour plus de détails, veuillez utiliser (par défaut):

echo ^"%%d,%%e,%%f,^"'%%v^"

... pour de courtes informations, veuillez utiliser:

echo ^"%%d,^"'%%v^"

Annotation: si vous ouvrez le fichier csv créé dans Excel et que vous souhaitez masquer le signe du texte, utilisez
Rechercher: "'" et remplacer par: "'" dans Excel (oui, c’est vraiment pareil!)

Ce script a été testé avec Windows XP et Windows 7!
(Pour Windows XP, utilisez une version antérieure de Sigcheck! Par exemple, Sigcheck v2.02)


1
2018-04-02 15:36





Le meilleur moyen est d'utiliser la commande suivante:

driverquery /v /fo csv > D:\driverlist.csv

Il mettra tous les détails du pilote dans le fichier csv qui est facile à voir.


0
2018-03-04 05:32



Lequel des champs affichés avec le /v option est la version du pilote? - Jason Aller
Veuillez relire la question avec attention. Votre réponse fait ne pas répondez à la question initiale. driverquery n'affiche pas la version du pilote. - DavidPostill♦