通过 GPO 或 PowerShell 部署二进制十六进制注册表

通过 GPO 或 PowerShell 部署二进制十六进制注册表

我正在尝试部署从测试机器导出的自定义注册表项。如下所示。我遇到了在另一个网站上也有类似的请求,但我无法让它发挥作用。

“TextFontSimple” =十六进制:3c,00,00,00,1f,00,00,f8,00,00,00,40,dc,00,00,00,00,00,00,\ 00,00,00,00,ff,00,31,43,6f,75,72,69,65,72,20,4e,65,77,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

按照其他解决方案,下面的 PS 命令会引发错误。“找不到与参数名称匹配的参数”

设置项目属性-路径“HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\MailSettings”-名称“TextFontSimple”-属性类型二进制-值([byte[]](0x3c,0x00,0x00,0x00,0x1f....0x00))

有任何想法吗?

====编辑=====

键和值已经存在。当我使用Get-ItemProperty

PSPath         : Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\MailSettings
PSParentPath   : Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common
PSChildName    : MailSettings
PSProvider     : Microsoft.PowerShell.Core\Registry
TextFontSimple : {60, 0, 0, 0...}

答案1

要弄清楚直接注册表设置方法出了什么问题,您需要提供有关您尝试的操作和出了什么问题的更多信息。

对于 powershell 方法,你似乎感到困惑New-ItemPropertySet-ItemProperty。创建新值时,您可以设置类型。修改现有值时,您不能;所有修改 Windows 注册表的方法都是如此,这就是您的-PropertyType参数导致命令出错的原因。

如果值已经存在,但未正确设置:

Set-ItemProperty -path HKCU:\Software\Microsoft\Office\14.0\Common\MailSettings -name TextFontSimple -value ([byte[]] (0x3c,0x68,0x74,0x6d....0x00))

如果不存在:

New-ItemProperty -path HKCU:\Software\Microsoft\Office\14.0\Common\MailSettings -name TextFontSimple -propertytype Binary -value ([byte[]] (0x3c,0x68,0x74,0x6d....0x00))

答案2

您尝试设置的键很可能尚不存在。请尝试使用 new-itemproperty 而不是 set-itemproperty

相关内容