Cryptomator per Batch sperren und beenden?

Hallo zusammen,

ich nutze Cryptomator-1.5.16-win64 mit Windows 10 pro 21H1.
Ich habe einen nächtlichen Job, bei dem ich per Batch diverse Dateien auf das Cryptomator-Laufwerk kopiere.
Mit der Batch wird auch Cryptomator gestartet. (C:\Pfad\Cryptomator.exe)

Wie kann man per Batch nach dem Kopiervorgang das Cryptomator-Laufwerk sperren/unmounten und Cryptomator komplett aus dem Speicher wieder entfernen?
So das auch das Laufwerk im Explorer wieder verschwindet?

Momentan versuche ich das mit:
taskkill /F /IM Cryptomator.exe
net use X: /delete

Unter Windows7 hat das auch funktioniert.
Mit Windows10 funktioniert das irgendwie nicht.
Scheinbar wird Cryptomator zwar aus dem Speicher geschmissen, (taskkill /F /IM Cryptomator.exe)

Das Lauwerk wird verschwindet aber irgendwie nicht aus dem Explorer. (net use X: /delete)
Ich bekomme die Meldung:
Die Netzwerkverbindung konnte nicht gefunden werden.

Es bleibt auch hartnäckig verbunden, bis ich den Rechner neu starte.

Hat da jemand eine Idee für mich, wie man das besser löst?

Hey,

Ich möchte zuerst auf einen Sicherheitsaspekt eingehen:
Das Anzeigen eines Laufwerkes im Explorer bedeutet nicht, dass man auf den dadurch repräsentierten Speicher zugreifen kann. Wenn du den Cryptomator-Prozess mit offenen Vaults abschießt, werden auch essentielle Kryptografische Komponenten beendet und der entschlüsselte Inhalt von Tresoren ist nicht mehr abrufbar.

Das vorweg, der Explorer ist manchmal im Aktualisieren von verwendeten Laufwerken recht langsam. Auch ist es wichtig, welche Technik zur Bereitstellung des Tresorlaufwerkes verwendet wird. Ist es WebDAV oder Dokany? (zu finden in den allgemeinen Einstellungen, Tab “Virtuelles Laufwerk”)
Im letzteren Fall bringt net use nichts, da es kein Netzwerklaufwerk ist.

Danke für deine Antwort.

Teil1 deiner Antwort war mir bewusst. Das ist auch nicht mein Problem.

Mit geht es darum, das es aus dem Explorer verschwindet. Komplett.
Optisch - und auch dass der Laufwerksbuchstabe wieder frei wird.

Das Tresorlaufwerk ist per WebDAV eingebunden.

Im letzteren Fall kannst bringt net use nichts, da es kein Netzwerklaufwerk ist.

Das hatte ich mir schon gedacht. Unter Win7 funktioniert es. Warum auch immer?
Unter Win10 gehts nicht.

Wie kann man das WebDAV-Laufwerk entfernen?
Es heisst übrigens \\cryptomator-vault@42427\DavWWWRoot\GnrOqiPTUtF_
und ist als Laufwerksbuchstabe X: eingebunden.

Zur Klarstellung: Der net use bringt nur bei Verwendung von Dokany nichts.

Cryptomator verwendet bei WebDAV selbst net use:

Sicher, dass es nicht nur ein “Artefakt” im Explorer ist? (d.h. der Laufwerksbuchstabe ist bereits frei, wird nur nicht als solcher angezeigt) Falls es eben nur ein Überbleibsel ist, reicht zum Verschwinden das Löschen eines Registry-Schlüssels aus (z.b. hier erklärt).

Nein. Daran liegt es nicht.
Irgendwie wird das Laufwerk nicht richtig gesperrt bzw. entfernt.

Ich kann den Cryptomator in diesem Zustand auch nicht erneut starten.
Ich bekomme dann die Meldung:

Ein unerwarteter Fehler ist aufgetreten…

org.cryptomator.common.vaults.Volume$VolumeException: org.cryptomator.frontend.webdav.mount.Mounter$CommandFailedException: Command failed with exit code 2. Expected 0. Stderr: Systemfehler 85 aufgetreten.

Der lokale Ger�tename wird bereits verwendet.

at org.cryptomator.common.vaults.WebDavVolume.mountServlet(WebDavVolume.java:86)
at org.cryptomator.common.vaults.WebDavVolume.mount(WebDavVolume.java:48)
at org.cryptomator.common.vaults.Vault.unlock(Vault.java:151)
at org.cryptomator.ui.unlock.UnlockWorkflow.attemptUnlock(UnlockWorkflow.java:100)
at org.cryptomator.ui.unlock.UnlockWorkflow.call(UnlockWorkflow.java:81)
at org.cryptomator.ui.unlock.UnlockWorkflow.call(UnlockWorkflow.java:44)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.cryptomator.frontend.webdav.mount.Mounter$CommandFailedException: Command failed with exit code 2. Expected 0. Stderr: Systemfehler 85 aufgetreten.

Der lokale Ger�tename wird bereits verwendet.

at org.cryptomator.frontend.webdav.mount.ProcessUtil.assertExitValue(ProcessUtil.java:28)
at org.cryptomator.frontend.webdav.mount.WindowsMounter.mount(WindowsMounter.java:43)
at org.cryptomator.frontend.webdav.servlet.WebDavServletController.mount(WebDavServletController.java:102)
at org.cryptomator.common.vaults.WebDavVolume.mountServlet(WebDavVolume.java:84)
… 12 more

Einzig ein Neustart behebt das Problem.

Habe die Loesung gefunden:

Scheinbar kann unter Win10 net use X: /delete nicht als Administrator ausgefuehrt werden.

Nachvollziehbar in einer Eingabeaufforderung mit- und ohne Adminrechte:
Ohne funktioniert es, mit Adminrechten funktioniert es nicht.

Meine naechtliche Batch lief mit Adminrechten. Unter Win7 hat das jahrelang funktioniert.
Wenn ich die Batch/Aufgabe mit normalen Userrechten laufen lasse, funktionierts.

Fuer mich ist das Problem damit geloest.
Vielen Dank @infeo fuer die Hilfeversuche!

1 Like