当前位置:
文档之家› 用批处理改变IE浏览器的安全设置
用批处理改变IE浏览器的安全设置
然后运行下,还真把IE浏览器的安全设置更改了,大喜。但是马上又犹豫了,我还得判断IE浏览器的版本啊,于是又捣鼓了一阵,写出如下bat文件判断IE版本
ET KEY=REG QUERY "HKLM\SOFTWARE\Microsoft\Internet Explorer\Version Vector"
FOR /F "tokens=3 delims=. " %%A in ('%KEY%^|FIND /I "IE"') DO (
Windows Registry Editor Version 5.00
[HKEY_USERS\S-1-5-21-842925246-1935655697-725345543-500\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3]
2a,1e,19,75,53,1c,31,20,41,72,24,12,3b,71,4d,23,32,24,7c,6a,03,25,17,56,7a,\
25,05,33,71,4d,3a,31,29,7c,6a,10,21,09,40,52,27,2c,0b,6d,4d,0f,28,2a,75,53,\
33,24,01,32,75,53,0b,3f,32,04,4f,79,1b,3b,1f,0c,40,72,3b,01,2d,1a,75,53,12,\
30,3f,04,4f,79,08,3f,09,0c,75,53,13,25,20,04,75,53,07,37,17,05,5d,4c,36,0a,\
for /f "tokens=*" %%1 in ('REG QUERY "%%a" /v USERNAME ^| find /i "%username%"') do (
::echo %%1
SET "SID=%%a"
)
)
for /f "tokens=1-4,* delims=\" %%i in ('echo %SID%') do (
IF "%%A" == "6" ( GOTO 6)
IF "%%A" == "7" ( GOTO 7)
IF "%%A" == "8" ( GOTO 8)
IF "%%A" == "9" 册表,每个代表不同ie浏览器的得到的reg
regedit /s 6/1.reg
echo text = file.ReadAll>>a.vbs
echo file.Close>>a.vbs
echo text = Replace(text, "S-1-5-21-842925246-1935655697-725345543-500", "%SID%")>>a.vbs
echo Set file = fso.OpenTextFile("my.reg", 2, True)>>a.vbs
0f,29,01,7c,50,68,3a,3b,34,4f,79,08,39,0d,49,72,33,1f,39,5d,4c,17,37,05,56,\
7a,2f,2e,32,4f,79,1f,12,3b,75,53,0b,3f,12,56,7a,3a,20,23,4f,79,12,05,33,71,\
SET "SID=%%j"
)
del a.vbs /f /q
echo Set fso = CreateObject("scripting.filesystemobject")>>a.vbs
echo Set file = fso.OpenTextFile("my.reg", 1, True)>>a.vbs
4c,2a,0d,18,3c,56,7a,3e,32,24,16,7c,6a,3e,0c,34,09,75,53,0b,3f,3f,1e,4f,79,\
12,38,12,01,71,72,3b,01,2e,3c,56,7a,2f,24,39,16,7c,72,38,12,3f,04,41,44,0a,\
0e,32,3c,56,7a,3b,2f,3f,16,15,39,7c,50,68,23,24,31,4f,79,08,39,0d,49,5f,12,\
34,16,40,52,17,37,01,40,52,22,38,0b,6d,4d,0f,34,1a,56,7a,3a,20,2c,75,53,03,\
所以第一件事是找出更改前后注册表的变化,这里楼主用到了一个小工具art,大家可以去网上下载,首先扫描第一次的注册表信息,然后更改浏览器的设置,扫描第二次设置然后进行对比。对比出来,虽然不多,但是还是有几项发生了变化。然后下面的工作就是无限寻找中,看是那个注册信息的问题,最后经过无数次测试,终于让我发现了就是下面这个键值
1b,3a,56,72,35,0e,3c,3c,56,7a,2d,3f,38,16,7c,6a,17,37,01,1b,5d,4c,2a,0d,18,\
1f,61,54,12,12,3b,28,40,52,3f,3a,19,34,48,72,20,0c,17,01,71,4d,1a,26,1a,1b,\
最近做了一个项目,由于b/s方面需要浏览器安装一些插件,所以在安全设置里面总有很多选项要自己去选,很是恼火。故考虑做一个bat文件来一键实现,原以为很容易,但是确足足花了我一天半的时间,所以拿出来分享一下。
要更改这些选项,当然是向注册表里面导入一些注册表文件。那该导入那些文件呢?楼主废话了,当然是导入更改IE(我这个是基于IE浏览器的,其他的可同理)的安全设置前后注册表变化的那些了。
25,1f,40,52,24,3f,19,6d,72,3b,05,34,71,4d,10,21,09,40,52,27,2c,0b,6d,72,24,\
1e,26,5d,4c,36,0a,1b,48,7a,36,13,01,1b,71,4d,32,23,30,21,6d,4d,17,37,01,3a,\
@=""
"{A8A88C49-5EB2-4990-A1A2-0876022C854F}"=hex(03):1a,37,61,59,23,52,35,0c,7a,\
5f,20,17,2f,1e,1a,19,0e,2b,01,73,1e,28,1a,04,1b,0c,3b,c2,21,2d,53,49,07,25,\
56,7a,2f,06,25,32,40,52,33,24,01,3a,56,7a,3a,20,2c,0c,7c,6a,3e,00,34,32,40,\
for /f "delims=" %%a in ('wmic userAccount where "Name='%userName%'" get SID /value') do call set %%a
echo %sid%
del a.vbs /f /q
echo Set fso = CreateObject("scripting.filesystemobject")>>a.vbs
echo Set file = fso.OpenTextFile("IE.reg", 1, True)>>a.vbs
echo text = file.ReadAll>>a.vbs
echo file.Close>>a.vbs
echo text = Replace(text,"S-1-5-21-842925246-1935655697-725345543-500","%sid%")>>a.vbs
4d,3a,31,29,7c,6a,2b,08,21,40,72,38,12,3f,5d,4c,39,1d,17,48,72,21,0f,03,56,\
7a,2f,06,22,32,40,52,2c,29,05,3a,56,7a,2e,3e,31,0c,7c,6a,2b,06,25,32,40,52,\
echo Set file = fso.OpenTextFile("IE.reg", 2, True)>>a.vbs
echo file.Write text>>a.vbs
echo file.Close>>a.vbs
wscript.exe a.vbs
regedit /s IE.reg
del a.vbs /f /q
但是在别的机器上一跑,发现出问题了,打开注册表一看[HKEY_USERS\S-1-5-21-1363770020-2694051836-85403203-1000\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3]发现这一句里面有个本机的SID S-1-5-21-1363770020-2694051836-85403203-1000,难怪导入不进去,因为每个计算机的都不一样。
HKEY_USERS\S-1-5-21-1363770020-2694051836-85403203-1000\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3
当然每个人的SID即S-1-5-21-1363770020-2694051836-85403203-1000可能不一样,但是是Zones这个键值,大家可以找一下,然后怎么办呢,当然是导出这个键值变化后的reg(这里只有zones 3有变化,只需导出它就可以了)。