2012-06-29 20:01:16 +0000 2012-06-29 20:01:16 +0000
66
66

USB-Gerät aus der Befehlszeile entfernen

Ich erstelle ein Sicherungsskript für Windows 7, und die letzte Aktion, die es ausführen soll, ist das sichere “Entfernen” des USB-Laufwerks, auf das es die Sicherung durchführt. Ich habe den Eindruck, dass das Einstecken des Laufwerks in den samen USB-Anschluss immer die gleiche DEV_ID beibehält (korrigieren Sie mich, wenn ich falsch liege). Wie kann ich Windows mit einer Befehlszeile (oder PowerShell) anweisen, die Hardware automatisch und ohne Benutzereingabe sicher zu entfernen?

Nur als Platzhalter, andere Betriebssysteme, die möglicherweise eine Möglichkeit haben, dies zu tun, wäre auch toll zu wissen.

Antworten (6)

67
67
67
2012-10-12 01:14:18 +0000

Neben dem in der anderen Antwort erwähnten RemoveDrive von Uwe Sieber gibt es eine ganze Reihe von Dienstprogrammen, die dies bewerkstelligen können. Es folgt eine kleine Liste:

  • USB Disk Ejector ist in erster Linie ein GUI-basiertes Dienstprogramm, kann aber genauso gut von der Kommandozeile aus verwendet werden, um das Laufwerk auszuwerfen, von dem das Programm läuft, oder ein beliebiges Laufwerk durch Angabe des Laufwerksbuchstabens / (teilweisen) Laufwerksnamens / Einhängepunkts usw. Frei und quelloffen.

  • USB Safely Remove ist nicht kostenlos, aber es ist ein Festplattenentfernungsprogramm auf Steroiden, mit vielen erweiterten Funktionen , einschließlich natürlich Kommandozeilenunterstützung . Zentimo ist sein größerer Bruder, mit noch mehr Funktionen .

  • Microsofts eigenes DevCon ist die Kommandozeilenversion des Geräte-Managers. Neben der Originalversion aus der Win2K/XP-Ära, die auf der KB-Seite verfügbar ist, gibt es neuere Versionen (sowohl 32- als auch 64-Bit), die von verschiedenen MS-Quellen erhältlich sind, wie in diesem Where to find DevCon.exe Artikel erwähnt. DevCon.exe für Windows 7 (und wahrscheinlich auch für Windows 8) finden Sie vergraben im entsprechenden Windows Driver Kit (WDK) , wie in diesem Thread erwähnt (der auch Download-Links zur extrahierten ausführbaren Datei enthält).


Jemand fragte Gibt es einen Befehl in der DOS-Eingabeaufforderung (cmd.exe von Win7), um ein Thumb Drive auszuwerfen? “, der leider als Duplikat dieses Threads geschlossen wurde. Die Frage bezog sich jedoch auf das Auswerfen von USB-Laufwerken, während Sie sich in der Windows-Wiederherstellungskonsole / Systemwiederherstellungs-Eingabeaufforderung befanden, daher ist es unwahrscheinlich, dass eines der oben genannten Dienstprogramme helfen wird. In einer solchen Situation sollte die folgende Methode mit Diskpart funktionieren:

  1. Geben Sie diskpart ein und warten Sie auf die Diskpart-Eingabeaufforderung (DISKPART>)

  2. Tippen Sie list volume

  3. Notieren Sie sorgfältig die Volume-Nummer des USB-Laufwerks (verwenden Sie die aufgelisteten Eigenschaften wie Laufwerksbuchstabe, Bezeichnung, Typ und Größe als Hilfe)

  4. Geben Sie select volume <number> ein, wobei <number> die oben notierte Datenträgernummer ist

  5. Tippen Sie remove all dismount

  6. Geben Sie exit ein, um Diskpart zu beenden

Jetzt sollten Sie in der Lage sein, Ihr USB-Laufwerk sicher zu entfernen, ohne Datenverlust befürchten zu müssen.

33
33
33
2012-06-29 20:10:44 +0000

RemoveDrive hat mir in der Vergangenheit gute Dienste geleistet

17
17
17
2012-10-12 05:56:40 +0000

Um auf diese Frage zu antworten… Sie brauchen kein Zeug von Drittanbietern.

Wie kann ich Windows mit einer Kommandozeile (oder PowerShell) anweisen, die Hardware automatisch und ohne Benutzereingabe sicher zu entfernen?

Führen Sie diesen Befehl aus: RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll um das Dialogfeld “Hardware sicher entfernen” aufzurufen:

4
4
4
2017-06-14 10:46:54 +0000

Da es sich um ein Backup-Gerät handelt, bedeutet dies, dass es sich um ein Speichergerät handelt, daher kann dies über die Powershell erfolgen - ersetzen Sie einfach X: durch den gewünschten Laufwerksbuchstaben:

$driveEject = New-Object -comObject Shell.Application
$driveEject.Namespace(17).ParseName("X:").InvokeVerb("Eject")
1
1
1
2014-07-01 14:28:21 +0000

Laut diesem 7tutorials-Artikel können Sie sicheres Ausstecken aktivieren, indem Sie “Schnelles Entfernen” einstellen. Dadurch wird das Schreib-Caching pro Gerät deaktiviert, wobei die Auswirkungen auf die Leistung “vernachlässigbar” sind? Ihre Schritte für Windows 7 sind unten aufgeführt.

( Edit ) Laut diesem Howtogeek-Artikel sollten Sie trotzdem vorsichtig sein, wenn Sie “Schnelles Entfernen” einstellen. Dies deaktiviert das Schreibcaching und verhindert so die meisten Probleme. Aber einige Programme können immer noch “live” schreiben, bis sie explizit ausgeworfen/entfernt werden. ( Ende der Bearbeitung )

Schritte:

  • stecken Sie das Gerät in das USB-Laufwerk
  • öffnen Sie den Gerätemanager
  • erweitern Sie Laufwerke
  • klicken Sie mit der rechten Maustaste auf Ihr Wechsellaufwerk, z.B. “USB2.0 Flash Disk USB Device”.
  • wählen Sie “Eigenschaften”
  • klicken Sie auf die Registerkarte “Richtlinien”
  • aktivieren Sie “Schnelles Entfernen” (deaktivieren Sie “Bessere Leistung”)

( Bearbeiten ) Beachten Sie, dass Sie den Gerätemanager verwenden müssen, um die Einstellung zu ändern, es kann nicht über den Datei-Explorer gemacht werden. (Zumindest in meiner Windows 10-Ausgabe.)

0
0
0
2019-11-21 19:57:26 +0000

Konnte keinen internen Befehl finden (danke MS), kein einziges Skript da draußen funktionierte auch, das Entfernen des Buchstabens ist ein schlechter Weg, um den Auswurf durchzuführen, der interaktive Weg ist auch nicht cool, und ich hasse es, Tools von Drittanbietern zu verwenden. In meinem Fall hilft es, etwas zu benutzen, das seit 20 Jahren auf meinem Laufwerk ist: das hauseigene Microsoft Windows Sysinternals :

sync -e x:
  • spült das USB-Laufwerk
  • wirft das USB-Laufwerk aus
  • behält den Buchstaben
  • verzerrt den USB-Baum nicht

im Falle von Sperren, verwenden Sie Sysinternals handle oder procexp, um es herauszufinden.