From e878cf43f6c227a2e44bc9168be196238507b2c1 Mon Sep 17 00:00:00 2001 From: "jhawkesworth@users.noreply.github.com" Date: Tue, 26 Apr 2016 18:26:50 +0100 Subject: [PATCH] Fix for https://github.com/ansible/ansible-modules-extras/issues/2090 --- .../modules/extras/windows/win_regedit.ps1 | 4 ++-- lib/ansible/modules/extras/windows/win_regedit.py | 15 +++++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/lib/ansible/modules/extras/windows/win_regedit.ps1 b/lib/ansible/modules/extras/windows/win_regedit.ps1 index c98c79ce8e..f4975dea22 100644 --- a/lib/ansible/modules/extras/windows/win_regedit.ps1 +++ b/lib/ansible/modules/extras/windows/win_regedit.ps1 @@ -118,8 +118,8 @@ else } -if($registryDataType -eq "binary" -and $registryData -ne $null) { - $registryData = Convert-RegExportHexStringToByteArray($registryData) +if($registryDataType -eq "binary" -and $registryData -ne $null -and $registryData.GetType().Name -eq 'String') { + $registryData = Convert-RegExportHexStringToByteArray($registryData) } if($state -eq "present") { diff --git a/lib/ansible/modules/extras/windows/win_regedit.py b/lib/ansible/modules/extras/windows/win_regedit.py index 47dc0a6c56..8845f8ceb9 100644 --- a/lib/ansible/modules/extras/windows/win_regedit.py +++ b/lib/ansible/modules/extras/windows/win_regedit.py @@ -43,7 +43,7 @@ options: aliases: [] data: description: - - Registry Value Data. Binary data should be expressed as comma separated hex values. An easy way to generate this is to run C(regedit.exe) and use the I(Export) option to save the registry values to a file. In the exported file binary values will look like C(hex:be,ef,be,ef). The C(hex:) prefix is optional. + - Registry Value Data. Binary data should be expressed a yaml byte array or as comma separated hex values. An easy way to generate this is to run C(regedit.exe) and use the I(Export) option to save the registry values to a file. In the exported file binary values will look like C(hex:be,ef,be,ef). The C(hex:) prefix is optional. required: false default: null aliases: [] @@ -96,13 +96,24 @@ EXAMPLES = ''' # Creates Registry Key called MyCompany, # a value within MyCompany Key called "hello", and - # binary data for the value "hello" as type "binary". + # binary data for the value "hello" as type "binary" + # data expressed as comma separated list win_regedit: key: HKCU:\Software\MyCompany value: hello data: hex:be,ef,be,ef,be,ef,be,ef,be,ef datatype: binary + # Creates Registry Key called MyCompany, + # a value within MyCompany Key called "hello", and + # binary data for the value "hello" as type "binary" + # data expressed as yaml array of bytes + win_regedit: + key: HKCU:\Software\MyCompany + value: hello + data: [0xbe,0xef,0xbe,0xef,0xbe,0xef,0xbe,0xef,0xbe,0xef] + datatype: binary + # Delete Registry Key MyCompany # NOTE: Not specifying a value will delete the root key which means # all values will be deleted