Existe-t-il une possibilité d'obtenir la version pilote installée via une ligne de commande sur un système Windows 7.
J'ai déjà essayé driverquery
mais il n'y a aucune information sur la version des pilotes, seulement un lien de liaison. (Au fait, que signifie cette date de lien?)
Je ne veux pas d'outils ou de programmes. J'ai besoin d'une commande cmd ligne.
Ou puis-je obtenir la version du registre?
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
...
Vous pouvez utiliser VBScript ou JScript pour obtenir ce que vous voulez. Puisque vous n'avez pas dit pour quel pilote vous vouliez le numéro de version, voici un script hybride BATCH/JScript qui les dépose tous à la console pour vous. Économisez 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)));
Ici, une version améliorée pour répertorier tous les pilotes incluent 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 à 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 des informations courtes, veuillez utiliser:
echo ^"%%d,^"'%%v^"
Annotation: Si vous ouvrez le fichier CSV créé dans Excel et souhaitez masquer le texte du texte "
[.____] trouver: "'" et remplacer par: "'" dans Excel (oui, c'est vraiment la même chose!)
Ce script a été testé avec Windows XP et Windows 7!
[.____] (Pour Windows XP Utilisez une version plus ancienne de SigCheck! E.G. SigCheck v2.02)
Le meilleur moyen est d'utiliser la commande suivante:
driverquery /v /fo csv > D:\driverlist.csv
Il mettra tous les détails de pilote dans le fichier CSV qui est facile à voir.