Top-Themen

Aktuelle Themen (A bis Z)

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, 8234 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 ..
Ähnliche Inhalte
Windows 7
Keine Verbindung auf Netzlaufwerke, keine Geräte im Gerätemanager
gelöst Frage von DeathNoteWindows 73 Kommentare

Hallo. Habe einen Rechner, der kann seit heute Morgen nicht mehr ins Firmennetz zugreifen. Die Netzwerkkarte ist auch nicht ...

Windows 10
Gerätemanager USB Geräte deinstallieren
gelöst Frage von schicksalWindows 107 Kommentare

Hallo zusammen, da ich spinnerte USB Anschlüsse seit dem 1709 Windows 10 hatte, habe ich folgendes getan. Ich steckte ...

Windows 10
Finde keine Geräte im Netzwerk über WLAN
Frage von mixmastertobsiWindows 105 Kommentare

Hallo Zusammen, ich habe ein sehr komisches "Problem" mit dem Netzwerk und habe eigentlich bereits alles versucht. Nun erstmal ...

Batch & Shell
Nonsense Error - find ihn nicht. (Batch)
gelöst Frage von clragonBatch & Shell7 Kommentare

Hey Leute! Ich bin's wieder. Heute habe ich ein besonders unnötiges Problem,. Aus irgendeinem Grund hat dieses Script einen ...

Neue Wissensbeiträge
Perl

Perl hat heute Geburtstag: 30 Jahre Perl: Lange Gesichter zum Geburtstag

Information von Penny.Cilin vor 5 StundenPerl2 Kommentare

Hallo, auch wenn es wenige wissen und noch weniger Leute es nutzen. Perl hat heute Geburtstag. 30 Jahre Perl ...

Sicherheit

Blackberry stirbt - Keine Updates für Priv mehr

Tipp von certifiedit.net vor 5 StundenSicherheit

Blackberry wird zu einer 08/15 Firma und geht wohl mehr und mehr den Weg, den HTC schon ging. Von ...

Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 1010 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 2 TagenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell22 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Netzwerkgrundlagen
Belibiges Teilnetz einer Subnetzmaske rausfinden?
gelöst Frage von CenuzeNetzwerkgrundlagen17 Kommentare

Wundervollen Gutentag, mittlerweile kann ich Subnetting so einigermaßen, aber ein Problem habe ich noch. Netzwerkadresse und Boradcast errechnen ist ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless12 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Windows Server
Logging von "gesendeten Nachrichten" auf Terminalservern
gelöst Frage von Z3R0C0MM4N0THiN6Windows Server10 Kommentare

Hallo zusammen, kann mir jemand auf kurzem Wege sagen ob 1) die per Task-Manager (oder damals tsadmin) an Benutzer ...