Estou tentando desmontar uma unidade USB externa usando o PowerShell e não consigo fazer isso com êxito. O script a seguir é o que eu uso:
#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)
Em seguida, verifico meu computador para verificar se a unidade está desmontada, mas não está.
Os parâmetros booleanos $ force e $ permanente foram tentados com diferentes permutações sem sucesso. O código de saída retornado pelo comando desmontar muda quando os parâmetros são alternados.
(0,0) = exit code 0
(0,1) = exit code 2
(1,0) = exit code 0
(1,1) = exit code 2
A documentação para o código de saída 2 indica que existem pontos de montagem existentes como uma razão pela qual não é possível desmontar. Embora eu esteja tentando desmontar o único ponto de montagem que existe, não tenho certeza do que esse código de saída está tentando me dizer.
Já tendo vasculhado a web para pessoas com problemas semelhantes, encontrei apenas um comando adicional para tentar e é o seguinte:
# executed after the .Dismount() command
$drive.Put()
Este comando adicional não ajuda.
Estou ficando sem coisas para tentar, então qualquer ajuda que alguém possa me dar seria muito apreciada.