上一篇博客里面提到了为了在批量拷贝虚拟机之后,需要将差异磁盘重新挂接到新位置的父磁盘VHD上,其中介绍了利用Hyper-V图形界面通过检查磁盘重新连接的方法,为了自动化实现就需要通过更快捷的调用方式,其中最通用的方式就需要利用WMI来实现,可以通过CSharp的调用,也可以简单的通过本文介绍的Powershell完成这个工作。
我们先来看看用于测试的环境,目前我有一个已经准备好了一个叫F:\winrgw.vhdx的差异磁盘并且被指定到了同一个目录的F:\ws2012-template.vhdx的父磁盘上。

现在把父磁盘从F盘目录中移动到一个临时目录中temp中,再次检查winrgw.vhdx盘,此时会看到这个链接已经出现问题了。
现在需要声明需要WMI类来处理的变量以及可以使用的重新连接虚拟磁盘的方法:
 
接下来声明差异磁盘和更改位置的父磁盘变量:
如何调用这个方法?
现在可以检查重新挂载父磁盘及检查以后的结果了:-)
 不过,如果你和我一样,用了最新的Windows Server 2012或Windows 8中的强大的Powershell,提供了更加简便的方法,我们用Set-VHD CMDLET再把链接改回来看看吧~
一件小事, 花些时间总结和思考,也许在关键的时候就有可能会用到的并且发挥至关重要的作用。今天就到这里,到这里吧~休息,休息一会儿~~~