Я пытаюсь отключить внешний 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()
Эта дополнительная команда не помогает.
У меня заканчиваются вещи, чтобы попробовать, поэтому любая помощь, которую кто-либо может мне дать, будет принята с благодарностью.
Ответы:
Чистое решение, которое не оставляет полузапеченных открытых ссылок, как это делает пример из pk:
Получено с http://sushihangover.blogspot.nl/2012/02/powershell-eject-local-or-remote.html
источник
powershell (New-Object -comObject Shell.Application).Namespace(17).ParseName(\"E:\").InvokeVerb(\"Eject\")
$?
этоTrue
после вызова второй строки. Что я могу сделать?Я не могу сделать большую работу, отвечая со стороны PowerShell, возможно, вы захотите посмотреть, как
mountvol
работает . Существуют разные степени демонтажа.Я попытался сделать что-то похожее на то, что вам требовалось в VBScript для переупорядочения устройств на старых рабочих столах, где монтирование дисков для устаревшего оборудования было слишком утомительным для удаления (читай флэш-диск), мешало сочетаниям клавиш в пользовательском графическом интерфейсе, где я мог только явно указать точки монтирования ( D :, E :, F :) с определенной целью. Это стало невероятно разочаровывающим, и вам нужно размонтировать и перемонтировать все, используя входы и выходы mountvol, чтобы убедиться, что все прошло хорошо и продолжить вносить изменения. Надеюсь, тебе повезло больше, чем мне.
источник