我在理解DSC脚本资源时遇到了一些麻烦,特别是testing和获取阶段。 我正在尝试更改默认的Hyper-V VHD和VMpath,但似乎无法解决如何通过DSC脚本validation这些path。
我通常使用下面的命令来实现这个目标:
Set-VMHost -ComputerName NAME -VirtualHardDiskPath D:\HV\VHD -VirtualMachinePath D:\HV\VM
谢谢!
DSC脚本资源需要三个模块:
SetScript
– 这是运行以应用所需的configuration
TestScript
– 这是运行,看是否应该重新应用所需的configuration
getScriptjoin
– 这个脚本应该返回一个包含当前configuration信息的哈希表
在你的情况下,会转化为像这样的东西:
Script SetHypVPaths { SetScript = { Set-VMHost -VirtualHardDiskPath D:\HV\VHD -VirtualMachinePath D:\HV\VM } TestScript = { $VMHost = Get-VMHost return ($VMHost.VirtualHardDiskPath -eq "D:\HV\VHD" -and $VMHost.VirtualMachinePath -eq "D:\HV\VM") } GetScript = { $VMHost = Get-VMHost return @{ VirtualHardDiskPath = $VMHost.VirtualHardDiskPath VirtualMachinePath = $VMHost.VirtualMachinePath } } }