Я пытаюсь отключить внешний USB-накопитель с помощью powershell и не могу это сделать. Следующий скрипт - это то, что я использую:
#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)
Затем я проверяю свой компьютер, чтобы убедиться, что диск отключен, но это не так.
Булевы параметры $ force и $ constant были опробованы с разными перестановками, но безрезультатно. Код выхода, возвращаемый командой dismount, изменяется при переключении параметров.
(0,0) = exit code 0
(0,1) = exit code 2
(1,0) = exit code 0
(1,1) = exit code 2
Документация для кода выхода 2 указывает, что существуют существующие точки монтирования как причина, по которой он не может отключиться. Хотя я пытаюсь отключить единственную существующую точку монтирования, поэтому я не уверен, что этот код выхода пытается мне сказать.
Уже пройдя через Интернет для людей, сталкивающихся с подобными проблемами, я нашел только одну дополнительную команду, чтобы попробовать, и это следующее:
# executed after the .Dismount() command
$drive.Put()
Эта дополнительная команда не помогает.
У меня заканчиваются вещи, чтобы попробовать, поэтому любая помощь, которую кто-либо может мне дать, будет принята с благодарностью.