DSC: Registry Resource Binary Comparison Bug
Ever used DSC to set a binary registry value only to find out no matter how many times it sets it, it always thinks the value is incorrect?
The problem lies in MSFT_RegistryResource.psm1, @Ln926
$Data | % {$retString += [String]::Format("{0:x}", $_)}
Should be:
$Data | % {$retString += [String]::Format("{0:x2}", $_)}
Because it isn't, the value data, in this case:
ValueData = @("8232c580d332674f9cab5df8c206fcd8")
Which is 82 32 c5 80 d3 32 67 4f 9c ab 5d f8 c2 06 fc d8 in HEX dies because that 06 towards the end gets turned into a 6, even if that were valid hex it wouldn't match the input and thus the Test-DSCResource fails every single time.