variablespowershellregistrykey

How do I get the value of a registry key and ONLY the value using powershell


Can anyone help me pull the value of a registry key and place it into a variable in PowerShell? So far I have used Get-ItemProperty and reg query and although both will pull the value, both also add extra text. I need just the string text from the registry key and ONLY the string text from the key. I'm sure I could create a function to strip off the extra text but if something changes (i.e. reg key name) it might affect this.


Solution

  • $key = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion'
    (Get-ItemProperty -Path $key -Name ProgramFilesDir).ProgramFilesDir
    

    I've never liked how this provider was implemented like this : /

    Basically, it makes every registry value a PSCustomObject object with PsPath, PsParentPath, PsChildname, PSDrive and PSProvider properties and then a property for its actual value. So even though you asked for the item by name, to get its value you have to use the name once more.