Следующее создаст новый двоичный ключ с помощью PowerShell.
$value = [guid]::Parse('01234567-89AB-CDEF-0123-456789ABCDEF')
$path = 'HKLM:Software\Company\Product'
New-ItemProperty -Path $path -Name MyGUIDKey -PropertyType Binary -Value $value.ToByteArray()
Если ключ уже существует, вы можете обновить его значение, заменив последнюю строку на
Set-ItemProperty -Path $path -Name MyGUIDKey -Value $value.ToByteArray()
Если вы хотите создать или обновить их ключ с помощью PowerShell DSC, ваша конфигурация должна выглядеть так:
Registry SetBinaryKeyToGuidValue
{
Key = 'HKEY_LOCAL_MACHINE\Software\Company\Product'
ValueName = 'MyGUIDKey'
ValueData = @([BitConverter]::ToString([guid]::Parse('01234567-89AB-CDEF-0123-456789ABCDEF').ToByteArray()).Replace("-", [String]::Empty))
ValueType = 'Binary'
}
ValueData очень точно определяет, какой формат используется, и это должен быть массив шестнадцатеричных строк, например: @ ('001122FF'). Если вы используете любой другой формат, вы получите сообщение об ошибке, например:
Ресурсу PowerShell DSC MSFT_RegistryResource не удалось выполнить функцию Set-TargetResource с сообщением об ошибке: (ОШИБКА) Параметр ValueData имеет недопустимое значение 01234567-89AB-CDEF-0123-456789ABCDEF для типа Binary
person
Greg Bray
schedule
29.01.2016