DSCスクリプトリソース、特にテストフェーズと取得フェーズを理解するのに問題があります。デフォルトのHyper-VVHDとVMパスを変更しようとしていますが、DSCスクリプトを介してそれらを検証する方法がわからないようです。
私は通常、この目標を達成するために以下のコマンドを使用します。
Set-VMHost -ComputerName NAME -VirtualHardDiskPath D:\HV\VHD -VirtualMachinePath D:\HV\VM
ありがとう!
DSCスクリプトリソース には3つのブロックが必要です。
SetScript
-これは、必要な構成を適用するために実行されます
TestScript
-これは、目的の構成を再適用する必要があるかどうかを確認するために実行されます
GetScript
-このスクリプトは、現在の構成に関する情報を含むハッシュテーブルを返す必要があります
あなたの状況では、それは次のようなものに変換されます:
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
}
}
}