treehe
Goto Top

Alle USB Geräte vor dem Ruhezustand abschalten

Wenn ich gewisse USB Geräte eingesteckt habe und den PC in den Ruhezustand versetze,
fährt mir der PC nach dem Reaktivieren nicht wieder hoch.

Habt ihr eine Lösung, wie man sämtliche USB-Geräte kollektiv deaktiviert
und auch wieder aktiviert.

System: WinXP SP3

Danke für eure Hilfe.

Content-Key: 90826

Url: https://administrator.de/contentid/90826

Printed on: April 24, 2024 at 16:04 o'clock

Mitglied: 60730
60730 Jun 28, 2008 at 12:16:12 (UTC)
Goto Top
Servus,

deveject.exe löst dein Problem.
deveject.exe /? löst das nächste Problem face-wink
Member: treehe
treehe Jun 28, 2008 at 17:03:21 (UTC)
Goto Top
Danke TimoBeil für deine Hilfe.

Habe mir inzwischen selber geholfen.

Wenn man den Übeltäter bereits kennt,
kann man unter:

Systemsteuerung -> System -> Geräte-Manager
auf dieses Gerät klicken.

Mit der anderen Maustaste unter:
Eigeschaften -> Details
die [Passende Gerätekennung] abschreiben.

In meinem Fall: "usb\vid_0557&pid_2008"

Um alle USB Geräte zu deaktivieren einfach: "usb\*"
(Ist nicht zu empfehlen, da nicht alles deaktivierbar ist und so seine Zeit dauert!)

Man erstelle eine neue Textdatei (Neu Textdokument.txt) auf dem Desktop
und kopiere folgedes Script herein:

Dim PFAD,NAME,AUS,EIN,LADEN,RUHE
' einzelne variablen definieren...

Set WshShell = WScript.CreateObject("WScript.Shell")
' WshShell befehl generieren...

PFAD="%windir%\system32\"
' wo befindet sich devcon.exe, powercfg.exe, usw...

NAME="usb\vid_0557&pid_2008"
' name des geräts/geräte die du deaktivieren willst...

AUS = PFAD + "devcon.exe disable " + NAME
EIN = PFAD + "devcon.exe enable "+ NAME
LADEN = PFAD + "powercfg.exe /hibernate on"
RUHE = PFAD + "rundll32.exe powrprof.dll,SetSuspendState"
' den einzelnen variabeln befehle zuteilen...

WshShell.Run AUS ,0
' gerät/geräte deaktivieren...

WScript.Sleep 3000
' 3 sekunden warten...
' bei usb\* auf 15 erhöhen!

WshShell.Run LADEN ,0
WshShell.Run RUHE ,0
' ruhezustand aktivieren...
' computer fährt in den ruhezustand...

' den computer reaktivieren...

WScript.Sleep 5000
' 5 sekunden warten...
' je nach system anpassen!

WshShell.Run EIN ,0
' gerät/geräte wieder aktivieren...

'copyright by treehe 2008

ändere die Passende Gerätekennung:

NAME="usb\vid_0557&pid_2008"

NAME="dein Gerät"

dann benenne die Textdatei (Neu Textdokument.txt) in Ruhezustand.vbs um.

( Arbeitsplatz -> Extras -> Ordneroptionen
"[ ] Die Erweiterung bei bekannten Dateitypen ausblenden" muss deaktiviert sein!
sonst kommt sowas raus: Ruhezustand.vbs.txt)

Jetzt noch schnell die:
devcon.exe herunterladen

Webseite:
http://support.microsoft.com/kb/311272/de
Downloade Link:
http://download.microsoft.com/download/1/1/f/11f7dd10-272d-4cd2-896f-9c ...

Einmal entpackt, hat es zwei Ordner:
i386
ia64

Die devcon.exe aus dem i386 nehmen und nach
%windir%\system32\ kopieren.

(z.B. c:\windows\system32\)


Ablauf nach dem Starten der Ruhezustand.vbs:

1. devcon.exe deaktiviert das Gerät
2. 3 Sekunden wird gewartet
3. Ruhezustand wird aktiviert
4. Ruhezustand wird ausgeführt
5. 5 Sekunden wird gewarten
6. währenddessen schaltet dein PC ab

7. du schaltest ihn wieder ein
8. die restliche Zeit der 5 Sekunden vergeht
9. devcon.exe aktiviert das Gerät wieder

Wer dabei zuschauen will, muss nur die 0 hinter den Kommas der
"WshShell.Run X , 0" gegen 1 austauschen "WshShell.Run X , 1"

Gruss Treehe ;o)
(schreibt mir eine Nachricht wie es euch so ergangen ist!)