Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Uninstallierte Geräte im Gerätemanager per Batch finden

Frage Entwicklung Batch & Shell

Mitglied: zensbert

zensbert (Level 1) - Jetzt verbinden

21.07.2008, aktualisiert 21.08.2008, 8129 Aufrufe, 12 Kommentare, 1 Danke

Hi,
ich würde gerne per Batch erkennen, ob alle Geräte im Gerätemanager installiert sind, oder ob noch Treiber fehlen...
Sprich, sind noch gelbe Ausrufezeichen im Gerätemanager oder nicht?
So als Art End-Test...
Hardwareseitig stetiger Wechsel, das machts schwierig..
eventuell mit nem Zusatz-Prog wie devcon?
jemand eine idee?

Thx
Mitglied: 67369
21.07.2008 um 22:43 Uhr
Geh dir Registry durch und suche nach "Driver"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum
Bitte warten ..
Mitglied: zensbert
21.07.2008 um 22:55 Uhr
ohne das nun überprüft zu haben liegt die vermutung nahe, dass bei der eingabe eines derart präzisen suchbegriffes höchstwahrscheinlich eine gewisse menge an treffern kommt.. gehts genauer, oder war des als scherz gemeint?
Bitte warten ..
Mitglied: 67369
21.07.2008 um 23:07 Uhr
Deine Vermutung ist richtig. Es war weder ein Scherz noch geht es genauer.

REG QUERY und dann beackern. Du wolltest eine Idee, und nun mach mal.

Wenn du es einfach haben möchtest, sieh im Gerätemanager nach.
Bitte warten ..
Mitglied: zensbert
21.07.2008 um 23:21 Uhr
Das is halt nich ganz der Gedanke dahinter.. ich brauch halt ne einfache auswertung die auf jede hardware passt... und nicht erst wenn ich jeden treiber stück für stück abhake..
dafür ist zuviel versch. hardware im spiel--
Bitte warten ..
Mitglied: zensbert
21.08.2008 um 10:40 Uhr
Hmm, es geht vielleicht wirklich mit devcon

und zwar bin ich soweit:
c:\devcon status *\* > C:\drivers.txt

jetzt steht in der TXT unter anderem:
...
PCI\VEN_8086&DEV_27CB&SUBSYS_01AD1028&REV_01\3&172E68DD&0&EB
Name: Intel(R) 82801GB USB Universal Host Controller - 27CB
Driver is running.
PCI\VEN_8086&DEV_27CC&SUBSYS_01AD1028&REV_01\3&172E68DD&0&EF
Name: Intel(R) 82801GB USB2 Enhanced Host Controller - 27CC
Driver is running.
...
PCI\VEN_8086&DEV_27DE&SUBSYS_01AD1028&REV_01\3&172E68DD&0&F2
Name: SoundMAX Integrated Digital Audio
Device has a problem: 31.

Ich habe extra die Soundkarte mal deinstalliert sodass Sie ein Ausrufezeichen im Gerätemanager hat. Dann steht in der TXT= "Device has a problem".. Jetzt müsste ich zum einen eine error variable auf 1 setzen und in einer anderen variable den Namen des Gerätes welches nicht korrekt arbeitet, was hier "SoundMAX Integrated Digital Audio" wäre. kann mir da jemand helfen? es ist ja auch wahrscheinlich, dass mal mehrere geräte nicht korrekt installiert sind... dann bräuchte ich wahrsch. auch mehrere variablen oder nicht?
Mit "findstr /n /C:"problem" "c:\drivers.txt"" gibt er mir die Zeilen-Nummer aus in der "problem" steht. Und zwar in dem Format:
138: Device has a problem: 31.
Kann ich dem jetzt sagen, hol dir die 138, zieh 1 ab um die zeile 137 auszugeben und schmeiss den inhalt in eine variable..?
Ich will halt am ende ne batch haben die sagt:
"SoundMAX Integrated Digital Audio" ist eventuell nicht korrekt installiert.
Und die weiteren Setup-Vorgänge erst nachzieht, wenn alle Treiber installiert sind.

Danke
Bitte warten ..
Mitglied: bastla
21.08.2008 um 12:37 Uhr
Hallo chizophren!

Als erster Ansatz:
01.
@echo off & setlocal 
02.
set "Log=%temp%\DeviceErrors.log" 
03.
 
04.
if exist "%Log%" del "%Log%" 
05.
set /a Errors=0 
06.
set Name= 
07.
for /f "delims=" %%i in ('d:devcon status *\*') do set "Zeile=%%i" & call :ProcessLine 
08.
if %Errors% gtr 0 ( 
09.
    cls 
10.
    echo %Errors% Fehler gefunden! 
11.
    echo\ 
12.
    type "%Log%" 
13.
14.
goto :eof 
15.
 
16.
:ProcessLine 
17.
if defined Name goto :Auswertung 
18.
echo "%Zeile%"|findstr /i /c:"Name: ">nul || goto :eof 
19.
for /f "tokens=1* delims=: " %%a in ("%Zeile%") do set "Name=%%b" 
20.
goto :eof 
21.
 
22.
:Auswertung 
23.
echo %Name% 
24.
echo "%Zeile%"|findstr /c:"problem">nul && goto :Fehler 
25.
echo "%Zeile%"|findstr /c:"stopped">nul && goto :Fehler 
26.
set Name= 
27.
goto :eof 
28.
 
29.
:Fehler 
30.
>>"%Log%" echo %Name%;%Zeile% 
31.
set /a Errors+=1 
32.
set Name= 
33.
goto :eof
Zum Testen werden gestoppte Treiber als "Fehler" behandelt.

Grüße
bastla
Bitte warten ..
Mitglied: zensbert
21.08.2008 um 13:42 Uhr
Ja das klappt gut.. aber ich würde das gerne in eine bestehende batch integrieren..
aber ich habe probleme wenn ich deine modifiziere.. könnte es mir nun so vorstellen dass meine batch deine aufruft jedoch müsste meine batch dann wissen ob deine fehler gefunden hat, weil diese dann zu der prozedur driver soll.. geht dass, das man da in die log irgendwas mit reinschreibt, und meine nach diesem string sucht?

01.
:Driver 
02.
title Treiberberprfung 
03.
color f0 
04.
Echo. 
05.
Echo Warnung! 
06.
Echo. 
07.
Echo Folgende Ger„te scheinen nicht korrekt installiert! 
08.
Echo --------------------------------------------------- 
09.
ECHO. 
10.
type "%temp%\DeviceErrors.log"  
11.
Echo. 
12.
Echo Bitte erst alle Treiber installieren! 
13.
pause > nul 
14.
exit 
Bitte warten ..
Mitglied: bastla
21.08.2008 um 14:07 Uhr
Hallo chizophren!

Einerseits sollte sich mein Batch recht einfach integrieren lassen (an Deinen bisherigen Batch anhängen, wobei die Zeile 1 auf
01.
:TreiberCheck
zu ändern wäre, und entsprechend mit
01.
call :TreiberCheck
aufrufen.

Die Überprüfung, ob Fehler gefunden wurden, lässt sich übrigens auf ein
01.
if exist "%temp%\DeviceErrors.log"
reduzieren, da ja am Anfang eine ev noch vorhandene alte Logdatei ohnehin gelöscht wird und nur beim Auftreten eines Fehlers neu erstellt wird.

Grüße
bastla
Bitte warten ..
Mitglied: zensbert
21.08.2008 um 14:31 Uhr
werd ich nachher mal machen, aber das sieht schon alles sehr gut aus... 1000 dank!
Bitte warten ..
Mitglied: netlord
18.08.2014 um 17:14 Uhr
Hallo

auch wenn der Thread schon ein bisschen älter ist ;) - ich stehe vor einem sehr ähnlichen Problem.

Die Batch da oben hat mir sehr geholfen, aber ich habe noch ein paar Fragen dazu:

- wieso heisst es in Zeile 7 'd:devcon status *\*'?
devcon.exe ist doch nicht zwangsläufig im root von laufwerk d:...
- ich hätte ganz gerne neben den devicenamen auch noch die pci-id
wie kann ich zwei zeilen ausgeben?

Danke schon mal ;)
Bitte warten ..
Mitglied: bastla
20.08.2014 um 19:02 Uhr
Hallo netlord!

Den Pfad zur "devcon.exe" kannst Du passend angeben - schematisch sähe das dann inkl. Anzeige der ID etwa so aus:
01.
@echo off & setlocal 
02.
set "Log=%temp%\DeviceErrors.log" 
03.
 
04.
if exist "%Log%" del "%Log%" 
05.
set /a Errors=0 
06.
set "Name=" 
07.
for /f "delims=" %%i in ('"d:\Pfad zu devcon.exe\devcon" status *\*') do set "Zeile=%%i" & call :ProcessLine 
08.
if %Errors% gtr 0 ( 
09.
    cls 
10.
    echo %Errors% Fehler gefunden! 
11.
    echo\ 
12.
    type "%Log%" 
13.
14.
goto :eof 
15.
 
16.
:ProcessLine 
17.
if defined Name goto :Auswertung 
18.
echo "%Zeile%"|findstr /i /c:"Name: ">nul && ( 
19.
    for /f "tokens=1* delims=: " %%a in ("%Zeile%") do set "Name=%%b" 
20.
) || ( 
21.
    if not defined ID set "ID=%Zeile%" 
22.
23.
goto :eof 
24.
 
25.
:Auswertung 
26.
echo ID:  "%ID%" 
27.
echo Name: %Name% 
28.
echo "%Zeile%"|findstr /c:"problem">nul && goto :Fehler 
29.
echo "%Zeile%"|findstr /c:"stopped">nul && goto :Fehler 
30.
set "ID=" 
31.
set "Name=" 
32.
goto :eof 
33.
 
34.
:Fehler 
35.
>>"%Log%" echo %Name%;"%ID%";%Zeile% 
36.
set /a Errors+=1 
37.
set "ID=" 
38.
set "Name=" 
39.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: netlord
21.08.2014 um 10:01 Uhr
Perfekt

danke bastla - auf das mit den Pipes bin ich nicht gekommen....

gruß
netlord
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Windows 7
gelöst Keine Verbindung auf Netzlaufwerke, keine Geräte im Gerätemanager (3)

Frage von DeathNote zum Thema Windows 7 ...

Batch & Shell
gelöst Batch-Skript: Messdaten in Textdatei finden und in eine neue Datei schreiben (5)

Frage von habmalnefrage zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch um Regestry Einträge zu finden und zu löschen (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Exchange Server
gelöst SBS2011 - im Exchange mobile Geräte löschen (4)

Frage von MiSt zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...