【问题标题】:PowerShell Get-ItemProperty returns wrong binary valuePowerShell Get-ItemProperty 返回错误的二进制值
【发布时间】:2017-05-17 11:05:23
【问题描述】:

我有一个奇怪的问题。我正在尝试从注册表中获取二进制值并将该值导入另一台计算机。

我正在使用

$key = "HKCU:\Software\TestKey\001"
(Get-ItemProperty -Path $key)."myValue"

返回: 68 0 101 0 102 0 97 0 117 0 108 0 116 0 0 0

但是注册表中的值是: 44 00 65 00 66 00 61 00 75 00 6C 00 74 00 00 00

我几乎尝试了所有方法。 [System.BitConverter]::ToString() 返回正确的值。但是当我尝试将它作为二进制值添加回注册表时,我收到一个错误,即它的格式不正确。

谁能指出我做错了什么,并举例说明如何使用 Powershell 导出然后导入二进制值?

提前致谢。

【问题讨论】:

  • 你得到了正确的值;您的回报以十进制表示,而注册表中的值以十六进制表示。您如何尝试将其“添加回”注册表?
  • 感谢杰夫的快速回复。我正在将值导出到文本并在另一台计算机上获取内容,然后将其添加为“new-itemproperty -path $path -value $content -propertytype binary -force”
  • 为什么不直接使用 regedit 导出密钥,然后将生成的 .reg 文件应用到其他计算机?
  • 我想过,但有很多我不需要的钥匙。我只需要一个值。
  • 编辑掉不需要的数据。

标签: powershell


【解决方案1】:

您可以在本机命令提示符下执行此操作。

reg export /?

【讨论】:

    猜你喜欢
    • 2016-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 2016-07-22
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多