mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Various fixes to win_regedit and documentation (#2436)
This commit is contained in:
parent
5d63d0b8d1
commit
b32c550e22
2 changed files with 18 additions and 6 deletions
|
@ -42,6 +42,13 @@ If ($state -eq "present" -and $registryData -eq $null -and $registryValue -ne $n
|
||||||
Fail-Json $result "missing required argument: data"
|
Fail-Json $result "missing required argument: data"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# check the registry key is in powershell ps-drive format: HKLM, HKCU, HKU, HKCR, HCCC
|
||||||
|
If (-not ($registryKey -match "^H[KC][CLU][MURC]{0,1}:\\"))
|
||||||
|
{
|
||||||
|
Fail-Json $result "key: $registryKey is not a valid powershell path, see module documentation for examples."
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Function Test-RegistryValueData {
|
Function Test-RegistryValueData {
|
||||||
Param (
|
Param (
|
||||||
[parameter(Mandatory=$true)]
|
[parameter(Mandatory=$true)]
|
||||||
|
@ -58,8 +65,8 @@ Function Test-RegistryValueData {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Returns rue if registry data matches.
|
# Returns true if registry data matches.
|
||||||
# Handles binary and string registry data
|
# Handles binary, integer(dword) and string registry data
|
||||||
Function Compare-RegistryData {
|
Function Compare-RegistryData {
|
||||||
Param (
|
Param (
|
||||||
[parameter(Mandatory=$true)]
|
[parameter(Mandatory=$true)]
|
||||||
|
@ -67,15 +74,14 @@ Function Compare-RegistryData {
|
||||||
[parameter(Mandatory=$true)]
|
[parameter(Mandatory=$true)]
|
||||||
[AllowEmptyString()]$DifferenceData
|
[AllowEmptyString()]$DifferenceData
|
||||||
)
|
)
|
||||||
$refType = $ReferenceData.GetType().Name
|
|
||||||
|
|
||||||
if ($refType -eq "String" ) {
|
if ($ReferenceData -is [String] -or $ReferenceData -is [int]) {
|
||||||
if ($ReferenceData -eq $DifferenceData) {
|
if ($ReferenceData -eq $DifferenceData) {
|
||||||
return $true
|
return $true
|
||||||
} else {
|
} else {
|
||||||
return $false
|
return $false
|
||||||
}
|
}
|
||||||
} elseif ($refType -eq "Object[]") {
|
} elseif ($ReferenceData -is [Object[]]) {
|
||||||
if (@(Compare-Object $ReferenceData $DifferenceData -SyncWindow 0).Length -eq 0) {
|
if (@(Compare-Object $ReferenceData $DifferenceData -SyncWindow 0).Length -eq 0) {
|
||||||
return $true
|
return $true
|
||||||
} else {
|
} else {
|
||||||
|
@ -118,7 +124,7 @@ else
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if($registryDataType -eq "binary" -and $registryData -ne $null -and $registryData.GetType().Name -eq 'String') {
|
if($registryDataType -eq "binary" -and $registryData -ne $null -and $registryData -is [String]) {
|
||||||
$registryData = Convert-RegExportHexStringToByteArray($registryData)
|
$registryData = Convert-RegExportHexStringToByteArray($registryData)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -126,6 +126,12 @@ EXAMPLES = '''
|
||||||
key: HKCU:\Software\MyCompany
|
key: HKCU:\Software\MyCompany
|
||||||
value: hello
|
value: hello
|
||||||
state: absent
|
state: absent
|
||||||
|
|
||||||
|
# Ensure registry paths containing spaces are quoted.
|
||||||
|
# Creates Registry Key called 'My Company'.
|
||||||
|
win_regedit:
|
||||||
|
key: 'HKCU:\Software\My Company'
|
||||||
|
|
||||||
'''
|
'''
|
||||||
RETURN = '''
|
RETURN = '''
|
||||||
data_changed:
|
data_changed:
|
||||||
|
|
Loading…
Reference in a new issue