Powershell을 사용하여 USB 외장 드라이브 분리


12

powershell을 사용하여 외장 USB 드라이브를 분리하려고하는데 성공적으로 수행 할 수 없습니다. 다음 스크립트는 내가 사용하는 것입니다.

#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 및 $ permanent는 다른 순열로 시도했지만 사용할 수 없습니다. 매개 변수가 토글되면 마운트 해제 명령에 의해 리턴 된 종료 코드가 변경됩니다.

(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() 

이 추가 명령은 도움이되지 않습니다.

시도해 볼 것들이 없어서 누군가가 나에게 줄 수있는 도움은 크게 감사하겠습니다.


USB 드라이브를 분리하고 싶지 않을 것입니다. 나중에 디스크 관리에서 드라이브 문자를 다시 할당해야합니다.
js2010

답변:


11

pk의 샘플과 같이 반으로 구운 공개 참조를 남기지 않는 깨끗한 솔루션은 다음과 같습니다.

  $driveEject = New-Object -comObject Shell.Application
  $driveEject.Namespace(17).ParseName("E:").InvokeVerb("Eject")

http://sushihangover.blogspot.nl/2012/02/powershell-eject-local-or-remote.html 에서 검색


이전에 게시 한 솔루션이 실제로 정확했습니다. 내가 어떻게 그것을 제안했는지에 대해서는 조금 불확실합니다! 이 방법을 사용하십시오.
pk.

1
실행 대화 상자에서 한 줄로 실행할 수 있습니다.powershell (New-Object -comObject Shell.Application).Namespace(17).ParseName(\"E:\").InvokeVerb(\"Eject\")
Deebster

그 한 줄짜리가 작동하지만 백 슬래시가 없습니다.
js2010

불행히도, 그것은 여기서 작동하지 않습니다. 또한 오류 메시지 나 오류 메시지가 나타나지 않습니다. $?True두 번째 행을 호출 한 후에. 제가 뭔가할만한 일이 있을까요?
René Nyffenegger

1

나는 어떻게 mountvol작동 하는지 살펴보고 싶을지도 모른다 . 분리 정도가 다릅니다.

Mountvol 또는 Mountvol /?

이름, GUID (Globally Unique Identifier) ​​및 볼륨 위치를 표시합니다.

Mountvol [드라이브 :] 경로 VolumeName

새 볼륨 탑재 지점을 만듭니다. 드라이브 문자 루트 디렉토리 또는 기존의 빈 NTFS 디렉토리를 마운트 지점의 소스로 지정하고 볼륨 이름을 대상으로 지정하십시오.

Mountvol [드라이브 :] 경로 / D

기존 볼륨 마운트 포인트를 삭제합니다.

Mountvol [드라이브 :] 경로 / L

주어진 볼륨 마운트 포인트의 볼륨 이름을 나열합니다.

VBScript에서 제거하기에 너무 지루한 (하드 드라이브 읽기) 오래된 하드웨어의 드라이브 마운트가 명시 적으로 마운트 포인트를 언급 할 수있는 사용자 정의 GUI의 바로 가기를 방해하는 오래된 데스크탑에서 장치를 재정렬하기 위해 필요한 것과 비슷한 작업을 시도했습니다 ( 특정 목적의 D :, E :, F :). 이는 매우 실망 스러웠으며 mountvol 입력 및 출력을 사용하여 마운트를 해제했다가 다시 마운트해야 제대로 작동하는지 확인하고 변경을 진행해야합니다. 나보다 운이 좋으면 좋겠다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.