让我头痛。
我有一大堆差分盘。 为了移动machiens – 因为(谢天谢地)vm移动不会复制差分光盘的来源(可惜出口不会),我的想法是在每个Hyper-V计算机上都有一个中央副本。
示例:VM X具有一个名为“System.vhdx”的vhdx,与… \ masters \ x64-2012std.vhdx不同。
要标准化差分光盘的path,我希望他们在c:\ Hyper-V \硕士….
现在,C并不总是有足够的空间,所以我的想法是,“大师赛”中有一个真正的path。
作品,除了:
PowerShell set-vhd …… \ system.vhdx -ParentPath c:\ Hyper-V \ Master ….. gettingon.vhdx
作品,虚拟机启动,但…
得到的VHD
让我看到vhdx直接链接到文件 – 不知怎的,Hyper-V发现它很好地解决了交界处,并用文件的“真实”path取而代之。
当我将虚拟机移动到具有不同光盘布局的另一个主机时(我们目前计划3个主机),这完全中断了。
现在,有什么办法可以解决这个问题吗? 我希望ParentPath成为ParentPath,因为我有设置它,没有改变,或者得到一个错误。
PowerShell在完全不同的用户环境下运行,有时在与Hyper-V本身完全不同的机器上运行。 因此,在其中使用的任何文件path必须完全展开才有意义。 对于相对path,“相对于什么”这个问题根本没有好的答案,因为文件path扩展可以是用户上下文特定的。
不过,我明白,你的策略对这个问题有一个答案,但大部分都不是。 path扩展代码只是使用底层的.netpath扩展,这显然扩展了重新分析点。
您可以尝试直接与WMI层交谈,而不是使用PowerShell cmdlet。 你可以在Ben Armstrong的“Virtual PC Guy”博客上find一些例子。