configurationHyper-V VM的PowerShell

我如何重新configuration​​Hyper-V虚拟机

我希望能够使用Powershell更改VMconfiguration文件,检查点和虚拟硬盘位置。

我的Google-FU只是指着我移动,我有大约100个虚拟机来改变,我可以移动这些文件,我不介意有点宕机,当每个虚拟机穿过向导时,大约需要5到15分钟虚拟机和那些是较小的,我需要能够在两个小时内完成100个。

如果我需要澄清,请让我知道。

==我卡在哪里==

是的,我已经看到了这个链接,看了大多数的命令,但是没有做我正在寻找的。

这些文件一起大约是14TB

大约100台虚拟机在7台主机之间进行集群。 共享存储是EMC旋转磁盘,我想将它们移动到3Par SSD。

现在,我已经能够成功地做到了closures虚拟机,移动文件,删除所有虚拟机,并重新创build他们威盛powershell,当我告诉我的首席技术官,可能是他唯一的方式他妈的小猫。

我想能够不移动VM的只是重新configuration他们,

在其他作品中可以改变:

在这里输入图像说明

至:

在这里输入图像说明

我希望能够使用powershell来做到这一点,我也需要能够为检查点,configuration文件和所有其他Hyper-V VM组件做同样的事情。

我可以容忍大约2个小时的停机时间,通过向导来执行所有虚拟机的MOVE不仅会磨损我的鼠标,而且需要大约6个小时。

我也一直在研究这个,并且在几个星期内testing出不同的策略。

====再一个镜头====

我不希望“移动”所有我想要能够做的是改变设置从超V的移动将取长补短,我更快的复制文件通过networking,只是更新path在Hyper-V中,我可以closures机器。

我认为这是不能做到的?

不太确定这是否你需要,但有一个例子,我曾经使用的PowerShell片段,包括所有的存储虚拟机迁移到一个新的目的地

 Get-VM -Name ('ansible-test-acs', 'ansible-test-web', 'ansible-test-db') | ForEach-Object { # move everything to d:\hyper-v\vm_name on hv-srv-01 $MoveOptions = @{ 'Name' = $_.Name 'DestinationHost' = 'hv-srv-01' 'IncludeStorage' = $true 'DestinationStoragePath' = 'D:\Hyper-V\{0}' -f $_.Name } $MoveOptions Move-VM @MoveOptions -WhatIf # Move-VM @MoveOptions } 

将VM存储移到新path

 ('ansible-test-web', 'ansible-test-db') | ForEach-Object { Move-VMStorage $_ ` –DestinationStoragePath "E:\Hyper-V\$_" } 

如果您已经将虚拟机及其所有文件复制到新的位置,并希望Hyper-V开始使用新位置,则应该可以执行类似操作。

 Remove-VM oldvmname Import-VM -Register -Path 'path to VM config file'