function Get-RegistryKeyValue { <# .SYNOPSIS Get a registry key's value .DESCRIPTION Can be used to get a registry key's value for a given Path. Uses Split-Path leaf to as registry key's value. .EXAMPLE Get-RegistryKeyValue -RegKey HKCU:\Environment\foo\bar -Verbose #> [CmdletBinding()] param ( $RegKey ) $regKeyData = $null $logLead = Get-LogLeadName $regKeyName = Split-Path $RegKey -Parent $regKeyValue = Split-Path $RegKey -Leaf try { if (Test-RegistryKey $regKeyName) { $regKeyData = Get-ItemPropertyValue $regKeyName -Name $regKeyValue } else { throw "$logLead : Registry Key ($regKeyName) not found" } } catch [System.Management.Automation.ItemNotFoundException] { Write-Error "$logLead : $regKeyName does not exist" } catch { Write-Error "$logLead : $_" } return $regKeyData }