Назад | Перейти на главную страницу

Как можно смонтировать ISO-образ на указанную букву диска в Powershell?

У меня есть ISO-образ (в данном случае ISO-образ MS Office), который я хотел бы смонтировать.

Я хотел бы использовать Powershell и указать букву диска во время монтирования, чтобы я мог использовать команды сценариев для файлов на смонтированном ISO (диске), после чего я хотел бы размонтировать ISO.

Как это может быть сделано?

Предыстория: я бы хотел выполнить установку MS Office по сценарию с использованием образа ISO.

Следующие команды Powershell подключат указанный ISO-образ к указанной букве диска. В Mountvol требует повышения прав, поэтому запустите Powershell как администратор:

# ISO image - replace with path to ISO to be mounted
$isoImg = "D:\en_visio_professional_2019_x86_x64_dvd_3b951cef.iso"
# Drive letter - use desired drive letter
$driveLetter = "Y:"

# Mount the ISO, without having a drive letter auto-assigned
$diskImg = Mount-DiskImage -ImagePath $isoImg  -NoDriveLetter

# Get mounted ISO volume
$volInfo = $diskImg | Get-Volume

# Mount volume with specified drive letter (requires Administrator access)
mountvol $driveLetter $volInfo.UniqueId

#
#
# Do work (e.g. MS Office installation - omitted for brevity)
#
#

# Unmount drive
DisMount-DiskImage -ImagePath $isoImg  

Справочная информация: это была полезная ссылка: https://www.derekseaman.com/2010/04/change-volume-drive-letter-with.html

Я не мог заставить вышеуказанное работать (Powershell 5 на WS2016), это не удалось ...

mountvol $driveLetter $volInfo.UniqueId

... Несмотря на то, что запущен как администратор.

Но это сработало

Get-WmiObject -Class Win32_volume -Filter 'DriveType=5' |
  Select-Object -First 1 |
  Set-WmiInstance -Arguments @{DriveLetter='Z:'}