如何快速向HyperV VM批量添加相同ISO映像

如何快速向Hyper-V VM批量添加相同ISO映像-1

IT Pro 在建立 Hyper-V 实验环境时,经常需要为多个 VM 挂载同一个 ISO 映像。例如,要建立有多台 Exchange 2016 服务器的实验环境,就需要将 Exchange 2016 的安装映像挂载到多个虚拟机。

为了避免重复繁杂的操作,我们可以事先将Hyper-V VM 定为相同的命名约定,把 Exchange 2016 服务器的 VM 命名为以 E16 开头。这样就可以直接使用 PowerShell 的 Get-VM cmdlet 来使用通配符获取 VM 集合,以方便批量添加 ISO 映像。

批量添加ISO映像

以下就是挂载相同 ISO 的 PowerShell 示例:

Get-VM E16* | Get-VMDVDDrive | Set-VMDvdDrive -Path "F:\ISOs\Exchange\2016\ExchangeServer2016-x64-cu6.iso"

如何快速向Hyper-V VM批量添加相同ISO映像-2

批量卸载ISO映像

要批量卸载 ISO 映像,只需将路径设置为 $Null 即可:

Get-VM E16* | Get-VMDVDDrive | Set-VMDvdDrive –Path $Null

如何快速向Hyper-V VM批量添加相同ISO映像-3

潜在的截断路径问题

由于不同 Hyper-V 虚拟机挂载的 ISO 文件的路径不同,默认可能无法在 PowerShell 中显示完整路径:

Get-VM E16* | Get-VMDVDDrive | Select-Object VMName, Path

如何快速向Hyper-V VM批量添加相同ISO映像-4

如果你遇到 ISO 路径截断的问题,可以使用 –ExpandProperty 参数来显示完整路径。但由于 Path 列的数据类型原因,使用此参数就无法显示前面的列:

Get-VM E16* | Get-VMDVDDrive | Select-Object –ExpandProperty Path

如何快速向Hyper-V VM批量添加相同ISO映像-5

如果你想两全其美,既要显示 VMName 又要查看其挂载 ISO 的完整路径,可以使用如下 PowerShell 命令:

Get-VM E16* | ForEach { $Path = (Get-VMDVDDrive $_ | Select-Object -ExpandProperty Path);Write-Host $_.VMName $Path}

如何快速向Hyper-V VM批量添加相同ISO映像-6

上一篇 什么是wsappx,为什么在Windows PC中运行?
下一篇 如何更快地下载和升级Windows 10补丁及Insider Build
泡泡

泡泡

做最好的知识分享 CSDN云计算领域优质创作者,2022新星计划算法赛道实力新星 算法/云计算/云原生

本月创作热力图