尝试使用批处理文件在Windows中编辑注册表

时间:2010-10-18 17:41:53

标签: windows batch-file registry

我支持全国各地运行Windows XP的几个办事处。它们是独立的,没有Windows Server或Active Directory,类似的东西。我刚刚将它们切换到Google Apps,并在此过程中将Windows Live Messenger替换为Google Talk。我真的想阻止Windows Live被使用,该平台发送了大量垃圾邮件,似乎有很多漏洞。我已经测试了对密钥进行注册表编辑

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun 

添加设置为msnmsgr.exe的字符串值1。我在一台机器上手动完成它,并且它在两个配置文件下工作,它不会启动Messenger。在我成功之后,我写了一个.REG文件:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun]
"msnmsgr.exe"="1"

一个批处理文件,从同一目录运行,如下所示:

@ECHO off

REGEDIT.EXE /S msn.reg

它似乎写入了注册表,但Live正在启动。不知道发生了什么。似乎这可能是在Serverfault和这里之间的任何一种方式,但我去了这里,因为管理部分似乎已经解决,但所涉及的小编程还没有成功。

提前感谢您的任何帮助。

2 个答案:

答案 0 :(得分:14)

在我看来,您已经交换了注册表值名称和数据。根据{{​​3}},REG_SZ值应以数字命名,以“1”开头,包含的数据将是可执行文件名(“msnmsgr.exe”)。因此,您的.REG文件应如下所示:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun]
"1"="msnmsgr.exe"

另外,我建议您使用kb article程序进行简单的编辑,而不是导入.REG文件。对于您想要的更改,您的REG.EXE命令将如下所示:

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun" /v "1" /t REG_SZ /d "msnmsgr.exe" /f

答案 1 :(得分:0)

导出您手动添加的注册表项,并将.reg文件与通过regedit导入的文件进行比较。