PowerShell Hyper-V VM创建和启动

时间:2020-04-10 16:13:10

标签: powershell virtual-machine hyper-v

我正在尝试使用PowerShell创建和启动VM:

$vmName = "vm" + (Get-Date -Format "yyyy-MM-dd-HH-mm")
New-VM -Name $vmName -NewVHDPath "$vmName.vhdx" -NewVHDSizeBytes 64GB -MemoryStartupBytes 8GB -Path $vmName -Generation 2

# Attach the Windows 10 ISO as a DVD drive to the VM
Add-VMDvdDrive -VMName $vmName -Path win.iso

# Set correct boot order (DVD drive first)
$dvd = Get-VMDVDDrive -VMName $vmName
Set-VMFirmware -VMName $vmName -FirstBootDevice $dvd

# Start the VM and connect to it
Start-VM -Name $vmName
vmconnect $env:COMPUTERNAME $vmName

这可以很好地工作,创建VM,附加Windows 10 ISO,设置正确的启动顺序,启动VM并连接到它。

但是,刚启动后,VM无法启动。首先,弹出一个黑屏,提示我按任意键从DVD引导,但是,这只是一秒钟,在我设法做到这一点之前,我得到了以下屏幕:

enter image description here

在VM设置中引导顺序正确:首先是DVD,然后是网络,然后是VHD。我想从DVD引导,但是在出现白屏之前我没有机会按任何键。

此外,我希望制作脚本,以便它自动进入DVD / ISO引导,而无需我按任何键进入该引导选项。我怎样才能做到这一点?我的最终目标是完全无人值守安装,该过程首先调用脚本,然后以安装的Windows 10来宾执行从主机共享的PowerShell脚本结束。这意味着我不能要求用户在某个时候按下一个键来帮助引导程序。

编辑:如果某人可以演示使用Windows 10 ISO创建,启动,连接和引导Hyper-V VM的PowerShell脚本,则可获得50分的悬赏,以便最终在第一个屏幕上显示正在运行的VM。 Windows 10安装程序。

2 个答案:

答案 0 :(得分:2)

我认为您的问题不是重要的问题。您的问题是您使用的是常规启动iso,但在这种情况下,您需要创建自定义WIM(Windows Imaging File)。如果创建一个,则无需人工干预即可直接开始安装过程。

我不想复制已经写在superuser.com上的文字;它很长,需要很多步骤。我建议您使用第二种方法-Creating custom ISO from Windows 10,因为这很有意义,并逐步引导您创建自定义WIM。

答案 1 :(得分:1)

尝试一下:

# Start the VM and connect to it
vmconnect $env:COMPUTERNAME $vmName
Start-VM -Name $vmName
Start-Sleep -Seconds 1
[System.Windows.Forms.SendKeys]::SendWait("{ENTER}")

您可能需要调整睡眠时间,因此自定义wim可能是更好的选择。