PowerShell을 통해 / 프로그래밍 방식으로 ISO를 마운트하려면 어떻게해야합니까?


답변:


46

명령 프롬프트에서 ISO 마운트 (Windows 8/2012 이상 만 해당)

명령 프롬프트에 앉아 ISO를 마운트해야하는 경우 다음 명령을 실행하십시오.

PowerShell Mount-DiskImage

PowerShell cmdlet이 호출됩니다. 마운트하려는 ISO의 경로를 묻는 메시지가 나타납니다. 완료되면 마지막 것을 비워두고을 누릅니다 Enter.

Mount-DiskImage cmdlet 실행

타다! 탑재 :

타다!  장착 가능 —“이동식 저장 장치가있는 장치”

ISO 분리

PowerShell에서 ISO를 분리하려면 Dismount-DiskImage프롬프트를 따르십시오. 이미지 경로가 아닌 헤드 상단의 드라이브 문자 만 알고 있으면 다음 명령을 사용하십시오.

Get-Volume [Drive Letter] | Get-DiskImage | Dismount-DiskImage

이 명령은 지정한 드라이브를 잡고 디스크 이미지를 찾아 마운트 해제합니다.

ISO 분리 후“이동식 저장소가있는 장치”

여러 ISO 마운트 및 드라이브 문자 표시

-PassThru플래그를 사용 하여 명령에 전달 된 데이터를 저장할 수도 있습니다 . ISO를 몇 개 마운트하고 드라이브 문자를 표시하고 드라이브 중 하나에서 파일을 실행 한 다음 모든 ISO를 마운트 해제합니다.

ISO 마운트

 $MountedISOs=Mount-DiskImage -PassThru D:\Downloads\Ubuntu.iso,D:\Downloads\Windows8.iso,D:\Downloads\Server2012.iso

foreach루프를 사용하여 장착 된 각 ISO에 대한 볼륨 정보 표시

 foreach($iso in $MountedISOs){Get-Volume -DiskImage $iso}     

J 드라이브 목록

 ls J:\

파일을여십시오

 start wubi.exe

foreach / Get-Volume 및 ls의 출력

ISO를 분리하려면 다음 명령을 사용하십시오.

 Dismount-DiskImage $MountedISOs.ImagePath

ISO 테스트

ISO가 첨부되어 있고 실제로 ISO (VHD와 비교)인지 확인하는 간단한 스크립트를 작성 -PassThru하여 개체를 임시로 저장하고 Get-DiskImage명령을 사용 하여 DiskImage 개체의 상태를 업데이트합니다. Attached속성 이 업데이트 됩니다. 이 StorageType속성은 파일 확장자에 따라 파일이 ISO인지 VHD인지를 알려줍니다.

<code> -PassThru </ code> 및 <code> Get-DiskImage </ code> 사용

StorageType는 ISO 여기 1. 반환하는 VHD이다 (2)의 출력은이다 $UbuntuISO:
<code> $ UbuntuISO </ code>의 결과는 다음과 같습니다.

이것은 $tempVHD를 마운트 한 후의 출력입니다 . ( Mount-DiskImageVHD를 마운트 할 수도 있습니다!)
VHD 마운트 후 <code> $ temp </ code>의 출력

장애없이 실행 되는 명령 에도 불구하고 Attached위 의 속성은 입니다.FalseMount-DiskImage

있다는 사실을 숙지 $UbuntuISO변수 중 하나를 업데이트 유지되지 않습니다
<code> $ UbuntuISO </ code> 변수는 업데이트되지 않습니다


테크넷 : Mount-DiskImage

테크넷 : 디스크 분리 이미지


6
젠장, PowerShell의 모든 새로운 cmdlet으로 Windows 8이 간지러워지기 시작합니다.
sinni800

1
우리는 명령을 통해 이미지를 쉽게 마운트 할 수 있습니다 C:\>explorer.exe imagepath. 여기서는 PS가 필요하지 않지만 마운트 해제하려면 PS가 필요합니다.
avirk

3
모두 Windows 8에 있습니까? 다른 프로그램을 설치할 필요가 없습니까 ???
Searush

2
+1 아주 참으로 좋은! 이것은 정확히 Win8에서 찾고 싶었던 것이므로 결국 여기 에 대답 끝에 추가 할 수 있었지만 문제가 발생했습니다. PS 기술을 익히기 시작해야합니다. :) 편집 : 내장을 테스트하고 파일이 ISO인지 VHD인지 또는 완전히 지원되지 않는 파일인지보고하는 cmdlet이 있습니까? 또는 아마도 Mount-DiskImage 의 반환 값을 테스트하여 코드를 적절하게 분기 할 수 있습니까?
Karan

1
@Karan 마침내 그 사실을 알아 내기 위해 돌아 왔습니다 = D 그것은 용기를 테스트하지 않을 것입니다. 그리고 솔직히 말해서 그것은 과잉이라고 생각합니다. 그러나 PowerShell 오류 처리에 들어 가지 않고 마운트되어 있고 ISO vs VHD인지 알려줍니다.
Tanner Faulkner

3

일반적으로 명령 행을 통해이를 수행하려면 비 대화식 방법이 필요합니다. -ImagePath스위치 를 사용 하여이 작업을 수행 하려고합니다 .

따라서 명령은 다음과 같습니다.

PowerShell Mount-DiskImage -ImagePath \"C:\AbsolutePathTo\Image.iso\"

공백과 다른 특수 문자를 포함하는 절대 경로를 인용하는 경우 인용 부호를 이스케이프해야합니다.

iso 이미지를 마운트 해제하려면 다음을 인용하십시오.

PowerShell "Get-Volume G | Get-DiskImage | Dismount-DiskImage"

첫 번째 경우에는 명령을 인용 할 필요가 없지만 두 번째 경우에는 |파이프가 명령 줄이 명령 행 컨텍스트에 있다고 생각하게하기 때문에 명령 행 컨텍스트에 있다고 생각하기 때문에 PowerShell(PowerShell은 자동으로 단일 명령으로 연결됨).

또한 철자가 Dismount-DiskImage올바른지 확인하십시오 k.


-Command 스위치의 기능은 무엇이며 왜 비 대화식으로 실행됩니까?
Tanner Faulkner

1
죄송합니다. -Command가 필요하지 않았습니다. 자동으로 대화식으로 수행 할 가능성이 높기 때문에 스크립트는 사람이 아니라 스크립트를 사용하는 것 (GUI 만 사용할 수 있음)
ronalchn

파일 이름으로도 간단한 분리를 잊지 마십시오 :PowerShell Dismount-DiskImage \"C:\AbsolutePathTo\Image.iso\"
juanitogan

현재 dir 마운트의 경우 :PowerShell Mount-DiskImage \"%CD%\Image.iso\"
juanitogan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.