Ich versuche, ein externes USB-Laufwerk mit Powershell zu entfernen, und kann dies nicht erfolgreich durchführen. Das folgende Skript verwende ich:
#get the Win32Volume object representing the volume I wish to eject
$drive = Get-WmiObject Win32_Volume -filter "DriveLetter = 'F:'"
#call dismount on that object there by ejecting drive
$drive.Dismount($Force , $Permanent)
Ich überprüfe dann meinen Computer, um festzustellen, ob das Laufwerk nicht gemountet ist, aber nicht.
Die Booleschen Parameter $ force und $ permanent wurden ohne Erfolg mit unterschiedlichen Permutationen ausprobiert. Der vom Befehl dismount zurückgegebene Exit-Code ändert sich, wenn die Parameter umgeschaltet werden.
(0,0) = exit code 0
(0,1) = exit code 2
(1,0) = exit code 0
(1,1) = exit code 2
In der Dokumentation zu Exit-Code 2 wird angegeben, dass bereits Bereitstellungspunkte vorhanden sind, um die Bereitstellung nicht aufzuheben. Obwohl ich versuche, den einzigen vorhandenen Mount-Punkt zu entfernen, bin ich mir nicht sicher, was dieser Exit-Code mir zu sagen versucht.
Nachdem ich bereits das Web nach Personen mit ähnlichen Problemen durchsucht habe, habe ich nur einen zusätzlichen Befehl zum Ausprobieren gefunden, und zwar den folgenden:
# executed after the .Dismount() command
$drive.Put()
Dieser zusätzliche Befehl hilft nicht.
Mir gehen die Dinge aus, um es zu versuchen, daher wäre jede Unterstützung, die mir jemand geben kann, sehr dankbar.