尝试使用batch file在Windows中编辑registry

我支持在全国各地运行Windows XP的几个办事处。 他们是孤立的,没有Windows Server或活动目录,类似的东西。 我只是将它们切换到Google Apps,并在此过程中用Google Talk取代了Windows Live Messenger。 我真的想停止使用Windows Live,平台发送这么多的垃圾邮件,似乎有很多漏洞。 我已经testing过将registry编辑为关键

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

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

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

还有一个batch file,从同一个目录运行,写成这样:

 @ECHO off REGEDIT.EXE /S msn.reg 

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

预先感谢您的帮助。

看起来像你有注册表值名称和数据交换。 根据kb的文章 ,REG_SZ值(s)应该以“1”开始数字命名,并且包含的​​数据将是可执行文件名称(“msnmsgr.exe”)。 因此,您的.REG文件应如下所示:

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

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

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

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