DP9*_*P99 8 registry scripting
这是一个(只是)例子:
reg add HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics/v MessageFont/t REG_BINARY/d"hex:f5,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00 ,00,90,01,00,00,\ 00,00,00,01,00,00,00,00,54,00,61,00,68,00,6f,00,6d,00,61, 00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, 00,00,00,00"/ f
它不起作用.
提前谢谢了.
(顺便说一句,这里应该使用哪些代码标签?)
编辑:抱歉延迟(我几天没有回复,所以我谷歌搜索并试图自己找到解决方案)并感谢您的回复.
我通过删除"十六进制"和逗号解决了这个问题.二进制值应添加为长行的数字字符,不带空格和逗号.
现在我有另一个问题.如何使用reg命令仅更改条目的值?例如,我应该将'Default'注册表项的值从某个值更改为'value not set',反之亦然.如果我使用'reg add'命令,它会添加另一个具有相同名称的条目,而不是更改现有条目的值.我不能使用'删除旧的并添加新的'技术,因为无法删除"默认"条目.
我需要通过批处理文件而不是reg文件来做到这一点.(但无论如何,知道如何通过reg文件来完成它会很好)
EDIT2:删除默认条目值的解决方案:reg delete HKLM ...\Key/ve/f
要修改条目值,应使用regini. http://support.microsoft.com/kb/264584 (此页面中的解释有点模糊甚至可能不准确)放入批处理文件中:regini c:\ testregini.txt其中testregini.txt包含:HKEY_LOCAL_MACHINE ...\Key EntryXY = somevalue(或"未设置值",或任何该数据类型)
就那么简单:
reg添加"HKCU\Control Panel\Desktop\WindowMetrics"/ v MessageFont/t REG_BINARY/d f5ffffff00000000000000000000000000001000000000001000000005400610068006f006d00610000000000000000000000000000000000000000000000000000000000000000000000/f
而已!我只是想知道为什么以前没有人对此感兴趣.
我不确定如何在常规批处理文件中执行此操作,但以下是使用 PowerShell 执行此操作的方法,并使用为 ASP.NET 状态服务设置失败操作的示例:
假设您的值的导出如下所示:
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\aspnet_state]
"FailureActions"=hex:50,33,01,00,00,00,00,00,00,00,00,00,03,00,00,00,0e,00,00,\
00,01,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00
Run Code Online (Sandbox Code Playgroud)
您将十六进制值放入字节数组中,然后使用该值来设置注册表值:
$failureActionsValue = ([byte[]](80,51,01,00,00,00,00,00,00,00,00,00,03,00,00,00,14,00,00,00,01,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00))
Set-ItemProperty -Path 'HKLM:\System\ControlSet001\services\aspnet_state' -Name "FailureActions"
-Value $failureActionsValue
Run Code Online (Sandbox Code Playgroud)