We've recently stumbled upon a problem with reading registry entries using PowerShell where the Get-ItemProperty or Get-Item cmdlet returns garbled registry values with artifacts. You'll notice that Regedit shows ellipses ("...") after the registry value. For example here's the ODBC settings for the Oracle ODBC driver. If you double click the registry value however it shows correctly. When you try get the value using PowerShell things get very messy Get-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\ODB C\ODBCINST.INI\Oracle in client" -Name Driver If you read the registry value using WMI using the standard WMI registry provider , this shows the string correctly. What is happening here is that the string in the registry is stored as a null-terminated string, and after the null terminator a lot of binary data has been dumped that we're not meant to see. Obviously this data should really be stored in another REG_