Powershell unmount Volume, remount on reconnect

Piktogramm

Admiral
Registriert
Okt. 2008
Beiträge
9.588
Ich suche einen Weg über die Powershell ein Laufwerk auszuwerfen, jedoch mit der Absicht, dass das Laufwerk wieder eingebunden wird, wenn es wieder (physisch) mit dem Rechner verbunden wird.

mountvol X:\ /p wirft mit zwar halbwegs zuverlässig Laufwerke aus, aber wenn ein (externes) Laufwerk danach erneut verbunden wird, wird es nicht eingebunden.
 
/e bringt nichts, die Registryeinträge die dadurch gesetzt werden, beseitigt /p und /d ja beim unmount.

/e würde nur was bringen, wenn man vorher ein Laufwerk mit mountvol mit /n eingebunden hat um Laufwerke/Ordner über das Wurzelverzeichnis vom NT-Kernel eingebunden hat. Also mountvol x:\ \\?\Volume{UUID} /n. Dann wäre das Volume mit der UUID einmalig auf X:\ gebunden, jedoch noch kein Eintrag in der Registry für dieses Volume erstellt, um es beim nächsten Verbinden automatisiert einzubinden. An der Stelle müsste man ein mountvol mit /e nachsetzen.

Klar könnte man jetzt einen Task anlegen, der durch alle Änderungen an allen Ports getriggert wird, nach neuen Volumes schaut und die dann mountet, aber das ist mit selbst für dieses Frickelbetriebssystem zu frickelig..
 
Zuletzt bearbeitet:
Mir ist hier zu hoch warum bei einem Wiederanschließen (!) Laufwerke nicht eingebunden werden sollten, das kenne ich nicht anders. Gleich ob ich es abziehe oder wie genannt auswerfe.

Wo ist hier das große Schlagloch?

CN8
 
@cumulonimbus8
Sowohl die Win11 in der VM (KVM, durchgereichter USB-Controller) als auch die native Win10 Kiste verbinden die Volumes nicht automatisch, wenn ich sie mit mountvol /d oder /p auswerfe, physisch den USB-Stecker ziehe und danach mit 10s Warten den USB Stecker wieder einstecke.
Wo das Problem ist, ist genau die Frage. Für /p und /r erwarte ich das Verhalten bei mountvol, bei /d nicht.
 
Also ich habs mal mit einem USB-Stick versucht nach zu stellen.
Ja, wenn man den mit MOUNTVOL /P rauswirft, aus- und wieder einsteckt wird er nicht neu erkannt. Musste ihm erst über die Datenträgerverwaltung wieder einen Laufwerksbuchstaben zuweisen.

Ich habs dann mal mit dem Powershell Kommando Remove-PSDrive probiert. Damit wird der Stick nach aus- und einstecken wieder erkann und kriegt einen Laufwerksbuchstaben.

Vllt. hilft das?
 
@Korben2206

Remove_PSDrive funktioniert bei mir nicht, auch mit nachgesetztem -Force nicht. Getestet mit generischem USB3.0 Stick und ner Samsung USB SSD T7

Da es sich sowieso ergab, dass ich den Bedarf hatte ein Filesystemflush im Script unterzubringen und Windows dies wohl nicht ab Werk kann, bin ich über sync[1] von Sysinternals gestolpert. Wobei sync nicht nur Flushes triggern kann, sondern auch Laufwerke auswirft. Das Aufwerfen klappt mit dem USB-Stick, aber nicht mit der Samsung T7 SSD.

Wobei auf der Samsung SSD kein blockierender Zugriff erfolgen sollte. Einträge in der Ereignisanzeige finde ich auch nicht und $? sowohl von Remove-PSDrive und sync stehen immer auf "True".

[1] https://learn.microsoft.com/en-us/sysinternals/downloads/sync
 
Piktogramm schrieb:
Win10 Kiste verbinden die Volumes nicht automatisch, wenn ich sie mit mountvol /d oder /p auswerfe,
Warum denn benutzt du diese Schalter?
Ich meine - du meldest hier ein Probem das du offenbar bewusst selbst auslöst?

Mir ist keine Routine bekannt die die Datenträgerverwaltung fernsteuert und ggf. mitgegebene Lettern oder erfrage zuweist.
Mir wäre so was gar nicht mal unrecht - Sicherungslaufwerke rauswerfen und man Wiederanschließen mit einem sicheren Buchstaben wieder zur Verfügung zu bekommen.

CN8
 
cumulonimbus8 schrieb:
Warum denn benutzt du diese Schalter?
Weil /d /p und /r jene Argumente sind, die mountvol dazu bewegen Laufwerke auszuwerfen und das Auswerfen von Laufwerken grundlegend ist, was ich will. Wobei ich automount behalten will.
Naja und /p ist im Großen und Ganzen mit dem definierten Verhalten von "mountvol closes any open handles before dismounting the volume." im Zweifelsfall auch noch dazu geeignet das Ganze sauber abzuwickeln, nur der Verlust von Automount nerft.

cumulonimbus8 schrieb:
Ich meine - du meldest hier ein Probem das du offenbar bewusst selbst auslöst?
Ich suche eine Lösung und habe meinen aktuellen Stand dargelegt. Mit der Absicht zum einen zu zeigen, dass ich da Eigenleistung reingesteckt habe bevor ich frage und zum Anderen um zu vermeiden, dass mit mountvol um die Ohren gehauen wird, weil es eben nicht die Funktionalität erfüllt, die ich haben will.

cumulonimbus8 schrieb:
Mir ist keine Routine bekannt die die Datenträgerverwaltung fernsteuert und ggf. mitgegebene Lettern oder erfrage zuweist.
Mir wäre so was gar nicht mal unrecht - Sicherungslaufwerke rauswerfen und man Wiederanschließen mit einem sicheren Buchstaben wieder zur Verfügung zu bekommen.
Welche Laufwerksbuchstaben vergeben werden ist unzuverlässig, selbst wenn man das in der Registry hinterlegt[1]. Was jedoch geht ist bei bekannten UUID oder Namen der Volumes diese gezielt anzusteuern oder schlicht der Hack Dateien mit bekannten Namen (+Hash) auf einem Volume abzulegen und alle eingebundenen Volumes nach eben dieser Datei zu durchsuchen.

[1] Grundsätzlich geht das, wenn es aber mal zu Kollisionen kommt, wird es nervig.
 
Piktogramm schrieb:
Weil /d /p und /r jene Argumente sind, die mountvol dazu bewegen Laufwerke auszuwerfen und das Auswerfen von Laufwerken grundlegend ist, was ich will. Wobei ich automount behalten will.
Ich wollte erfahren warum du gewillt bist all diese Schalter auch unbedingt einzusetzen.
Muss doch einen Grund haben LW so gründlich (r)auszuwerfen, oder nicht?

Piktogramm schrieb:
Welche Laufwerksbuchstaben vergeben werden ist unzuverlässig, selbst wenn man das in der Registry hinterlegt[1].
Das ist etwas über das ich mich auch schwarzärgere, keine Frage.

Aber wie dein Plan aussieht, dass normales Auswerfen nicht genügt, das wäre durchaus von Interesse.

Ich hatte mal nach ein pisschen (und extra dies) PS-Code für einen Laufwerkbuchstabenwechsel gefragt. Die Lieferung war im Prinzip richtig, aber PS war in sich unfähig einfachste Hürden hier zu nehmen. Das was die Datenträgerverwaltung kann kann PS offenbar nicht auslösen. Ausgeworfen und unbekannt = Totes Gleis. Es findet sich so kein Anknüpfungspunkt.

CN8
 
cumulonimbus8 schrieb:
Ich wollte erfahren warum du gewillt bist all diese Schalter auch unbedingt einzusetzen.
Muss doch einen Grund haben LW so gründlich (r)auszuwerfen, oder nicht?
Hier steht nichts, dass ich eben diese Argumente bei mountvol einsetzen will, sondern dass ich mountvol kenne und das Verhalten der möglichen Argumente zum Auswerfen NICHT nutzen will, weil sie zukünftiges Automount der Volumes unterbinden.

Und gründliches Auswerfen, Flush von Caches auf das Dateisystem und anschließendes Auswerfen der Volumes ist in etwas da, was man macht, wenn man die Integrität von Daten und Dateisystemen mag.

Naja, danke fürs Pushen des Threads :)
 
Piktogramm schrieb:
Und gründliches Auswerfen, Flush von Caches auf das Dateisystem und anschließendes Auswerfen der Volumes ist in etwas da, was man macht, wenn man die Integrität von Daten und Dateisystemen mag.
Wie ich sagte meldest du ein Problem im Zusammenhang mit deinem Tun, nun widerspichst du dir.

Wie auch immer, der zitierten Erklärung kann ich mit über 30 Jahren EDV nicht folgen. Da muss kein Cache das Klo runtergepült werden noch hatte ich Probleme mit dem Dateisystem… …außer die Platte fällt vom Tisch und löst sich vom Kabel. Das war ärgerlich da das Dateisystem völlig im A–Punkt-Punkt-Punkt war. Dein Auswerfen hätte da auch nix geholfen 😇.
Kurz - du steckt Energie in etwas das ein Problem löst das es in der Praxis nicht gibt. Unmounte ich so radikal dann au gutem Grund, aber nicht im Alltag.

CN8
 
@cumulonimbus8
Du bist echt nicht hilfreich, außer dabei den Thread auf Seite eins zu halten.
Selbst der Eröffnungspost beschreibt die Anforderung separat von der Beschreibung, dass mountvol nicht tut, was ich erwarte.

Und 30Jahre irgendwas mit IT zu machen, mit Flushes anscheinend wenig anfangen zu können, noch wieso diese erfolgen sollte bevor man unmounts durchführt ist nichts, womit ich mich rühmen würde. Noch was ich als legitimes Argument ansehe.
 
Ich bin raus.
Du setzt MOUNTVOL mit bestimmten Schalten ein nach denen und deren Warum ich frage - und dann soll MOUNTVOL, das befehlsgemäß - deinen Befehlen gemäß - arbeitet, an deinem Problem schuld sein, dass komplett abgemeldete LW nicht mehr gefunden werden?
CN8

PS: Ich weiß was Flushes sind so wie ich weiß was Thorium ist - aber ich weiß auch warum ich etwas einsetze oder nicht einsetze.
 
Zurück
Oben