最近学校中了一个生成“pegefile.pif”的病毒,甚是讨厌,搞了几台以后,决定找一个解决的办法,去网上查了一下,有一种手动的方法,不过很麻烦,要手动修改N多注册表键值。
于是乎,就想作一个BAT文件,把全校的机器作个批处理,一并搞定。
修改注册表的方法有很多,下面是我实验过的方法。
主要是利用REG命令来进行添加、删除和修改等操作。
REG命令:
Windows 控制台注册表工具 - 版本 3.0
版权所有 (C) Microsoft Corp. 1981-2001. 保留所有权利。
REG Operation [参数列表]
Operation [ QUERY | ADD | DELETE | COPY |
SAVE | LOAD | UNLOAD | RESTORE |
COMPARE | EXPORT | IMPORT ]
返回代码: (除了 REG COMPARE)
0 - 成功
1 - 失败
要得到有关某个操作的帮助,请键入:
REG Operation /?
例如:
REG QUERY /?
REG ADD /?
REG DELETE /?
REG COPY /?
REG SAVE /?
REG RESTORE /?
REG LOAD /?
REG UNLOAD /?
REG COMPARE /?
REG EXPORT /?
REG IMPORT /?
例:
reg add \hklm\software\myco /v data /t reg_binary /d fe340ead
reg add "hkcu\software\microsoft\winmine" /v Name3 /t reg_sz /d Anonymous
reg add "hkcu\software\microsoft\winmine" /v Time3 /t reg_dword /d 5
reg delete "hkcu\software\microsoft\winmine" /v Name1
reg delete "hkcu\software\microsoft\winmine" /v Time1
 
OK,就象上边一样。
REG使用比较简单。
 
在测试过程中,想起了以前在作机器中,每台机器都开着XP的防火墙,远程对机器进行一些操作很不方便。
并写到了2007年1月的BLOG中( http://bannerpei.spaces.live.com/blog/cns!B8D5012B16F74858!190.entry“自己的错,自己负责!(记瑞星在GHOST时,产生的问题及解决方法”)
终于有办法搞一下了!
先提取出开防火墙的注册表键值!
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile]
"EnableFirewall"=dword:00000000
然后 按照REG的用法,在CMD中 输入:
reg add hklm\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile /v EnableFirewall /t reg_dword /d 00000000 /f
在本机测试成功将本地XP防火墙打开!(/f 是强制执行,不会出现提示对话框)
对192.168.0.51这台远程主机进行测试:
reg add \\192.168.0.51\hklm\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile /v EnableFirewall /t reg_dword /d 00000000 /f
OK,成功打开远程主机的XP防火墙!
写入BAT文件 ,执行,出错。
提示“不是内部命令也不外部命令”等内容!
在technet群里问了一下,有个兄弟说加个start就行了。
一试果然。
最后在BAT文件中的内容如下:
start reg add \\192.168.0.51\hklm\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile /v EnableFirewall /t reg_dword /d 00000000 /f
 
可以依次加多条命令,把需要的主机的防火墙全部打开,再利用PSEXEC.EXE进行下一步操作。
回头把整修操作再整理写出来!