我对 DSC 脚本资源有些困惑,尤其是测试和获取阶段。我尝试更改默认的 Hyper-V VHD 和 VM 路径,但似乎无法弄清楚如何通过 DSC 脚本验证这些路径。
我通常使用以下命令来实现这个目标:
Set-VMHost -ComputerName NAME -VirtualHardDiskPath D:\HV\VHD -VirtualMachinePath D:\HV\VM
谢谢!
答案1
这DSC 脚本资源需要三个块:
设置脚本
- 运行此命令以应用所需的配置
测试脚本
- 运行此命令以查看是否应重新应用所需的配置
获取脚本
- 该脚本应返回一个包含有关当前配置信息的哈希表
在你的情况下,这将转化为类似以下内容:
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
}
}
}