找回密码
 立即注册

QQ登录

只需一步,快速开始

教程经验总索引TVMW5/小日本5 索引【视频转换】小日本4/TE4XP 索引【视频转换】TAW4 / TDA3 索引【DVD打包软件】
Nero 索引DVD-Lab 索引【DVD打包软件】编解码器 索引 【必读】固顶帖011号
查看: 4353|回复: 1

[教程] 开机脚本的应用

[复制链接]

9328

威望

328

金钱

1万

贡献

管理员

自由的灵魂

积分
99908
主题
5265
回帖
26224
注册时间
2003-4-10
最后登录
2024-5-10
发表于 2009-6-19 09:59:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 IsaacZ 于 2009-6-19 10:05 编辑

转自:http://qzone.qq.com/blog/38362316-1242539150

开机脚本的定义:
其实开机脚本并没有一个很官方的定义,其实开机脚本也不是那么神秘,说白了就是开机运行一个批处理或者VBS脚本,来解决一些不需要重启就可以生效的问题,来实现一些不需要重启就可以生效的功能。个人感觉这么理解应该是没错误的。

开机脚本都能做什么:
根据它的定义,来解决一些不需要重启就可以生效的问题,来实现一些不需要重启就可以生效的功能。我们可以很容易的联想到,可以添加/删除/修改快捷方式,设置IE首页,更换壁纸,绑定ARP,添加/删除文件等等。总之一切不用重启,就可以搞定的问题,基本上开机脚本都可以做到。

上面的内容对于在网吧做技术的长老前辈们就属于是卖弄了,就当是个新手扫盲好了。ATM可以提款所有人都知道,可是ATM取款未必所有人都知道。所以扫盲工作好是要做的!下面说下稍微深入的问题。

开机脚本的添加/安装:
开机脚本的安装和添加有很多途径,很多方式,下面我简单说下常见的添加方式,以及优缺点。

1、将开机脚本文件放到“C:\Documents and Settings\用户名\「开始」菜单\程序\启动”目录内来实现开机启动。
这个方法是最简单的了,但是效能一般,放在启动文件夹启动如果是批处理文件会有黑框,尽管你可以用其他方式来隐藏黑框,但是还是有点麻烦。
优点:设置方法简单。
缺点:某些时候可能因为路径空格问题导致脚本执行异常。启动优先级很较低。

2、通过注册表开机项实现。
  1. [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
  2. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
复制代码
像其他开机软件一样,可以通过这两个注册表来实现开机运行。
优点:设置方法简单,把设置好的注册表导入下就OK了。
缺点:容易误操作被清理掉。个别情况执行会受限制。启动优先级中等。

3、通过组策略实现开机运行。
开始--运行--gpedit.msc--“本地计算机”策略--用户配置--Windows设置--脚本(登陆/注销)--右测点登陆,然后填入脚本路径。

                               
登录/注册后可看大图


这种方法是我正在使用的,效果很好。
优点:设置方式隐蔽,不会出现上面两种方式的缺点,执行优先等级高。
缺点:至今尚未发现。

4、通过服务方式实现开机启动。
这个方法技术含量过高,操作较为麻烦,搞不好还可能被某些软件识别成病毒,所以就不做介绍了。

开机脚本的运行方式:
1、开机脚本直接执行远程路径的批处理或VBS,这种方式失败率过高,但是依然有人会有,我也非常不解,效果就是开机脚本路径为\\服务器名\共享路径\开机脚本.bat。因为开机时有段时间网络是不通的,这么设置基本没什么执行效果。

2、比上面稍微好一点,执行一个本地脚本,而脚本内容则是:
  1. call \\服务器名\共享路径\开机脚本.bat
复制代码
表面上看起来和上面的方法有差别,但是实际效果是一样的,失败率很高。

3、比上面两点再进步一点,先执行一个本地脚本,然后用PING方式延时启动远程脚本。内容大致为:
  1. ping 127.0.0.1 -n 5
  2. call \\服务器名\共享路径\开机脚本.bat
复制代码
这种方式执行率有一定提升,但是执行效果仍然不是特别理想。

4、较强的方案,执行一个本地脚本,然后把服务器脚本复制到本地,然后再调用。内容大致为:
  1. ping 127.0.0.1 -n 5
  2. copy \\服务器名\共享路径\开机脚本.bat E:\Autorun\ /y
  3. call E:\Autorun\开机脚本.bat
复制代码
这种方案已经是比较成熟,也比较好用的方式了。但是执行成功率仍然是可圈可点,比如网卡延时情况,你不一定延时5秒就可以成功,有时可能延时更久。

5、个人认为最强的方案,执行一个本地脚本,然后复制远程服务器上的脚本到本地,测试指定的开机脚本文件是否存在,如果不存在则循环延时,直到检测到指定的开机脚本文件存在,然后直接调用执行。内容大致为:
  1. :loop
  2. ping 127.0.0.1 -n 3
  3. copy "\\服务器名\共享路径\开机脚本.bat" "E:\Autorun" /y
  4. if not exist "E:\Autorun\开机脚本.bat" goto :loop
  5. call "E:\Autorun\开机脚本.bat"
复制代码
这种方式除cmd.exe进程被人为关闭,脚本都会100%执行成功。所以推荐大家适用此种方式。

下面附上本人正在适用的本地开机脚本。
  1. Copy code to clipboard程序代码
  2. @ECHO ON
  3. ::C:\Clentlog.dat是本地日志文件,如果脚本不能正常执行,可以在本日志中发现问题。
  4. cd\&C:&del /q C:\Clientlog.dat
  5. ::这里是设置远程的共享服务器计算机名,将update改为你的共享服务器计算机名即可。
  6. SET 文件服务器=\\update
  7. ::设置远程开机脚本的存放位置,可以随意修改,如果带空格路径不要忘记加英文标点的冒号。
  8. SET 客户机目录=C:\windows
  9. ::写日志,记录本地脚本开始执行的时间。
  10. @ECHO %date% %time% 本地任务Debug开始.>C:\Clientlog.dat
  11. ::这句通常是没人用到的,可以删除,功能就是不允许修改禁止CMD运行。
  12. ::东方网点记费软件开机某一时间会禁止运行CMD,所以加了这句,否则脚本执行成功率会打折。
  13. @ECHO HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System [2 8 19]>"%客户机目录%\cacls.ini"
  14. regini "%客户机目录%\cacls.ini" & del /q "%客户机目录%\cacls.ini"
  15. ::设置循环标志为loop
  16. :loop
  17. ::用ping功能设置延时,大概ping通状态大概ping两次为1秒。
  18. ping 127.0.0.1 -n 1
  19. ::写日志,记录脚本于当前时间延时一次完成。
  20. @ECHO %date% %time% 延时1秒完成.>>C:\Clientlog.dat
  21. ::复制远程服务器的开机脚本到本地目录。并显示日志是否复制成功。
  22. copy "%文件服务器%\bat$\icafe8.bat" "%客户机目录%" /y>>C:\Clientlog.dat
  23. ::判断远程服务器上的脚本是否成功复制到本地目录,如果不成功,重新执行ping延时和复制脚本到本地。
  24. if errorlevel 1 goto loop
  25. ::上面判断远程开机脚本已经被复制到本地,那么开始调用刚复制过来的远程开机脚本。
  26. call "%客户机目录%\icafe8.bat"
复制代码
OK,开机脚本本地调用部分就是这么多了,实际上我也只是抛砖引玉,很多东西大家都可以不拘一格的,不一定非要按照我说的方式来做。但是当你遇到问题时,可以过来看看,一起烟酒烟酒~

                               
登录/注册后可看大图


最后要说的就是有些人的疑问或者不懈。
因为目前市面上的网维软件都有开机脚本或开机命令功能,直接用他们的不就可以了吗?干嘛还这么麻烦自己添加?显摆你有技术?
其实并不是这样,何况我也没什么技术,其实细心一点的人就会发现,网维软件提供的开机脚本工作流程是先要网维软件自身启动成功,然后从服务器使用非共享方式复制到本地,然后再调用执行。
事项下,开机脚本就是在开机第一时间就运行,如果用网维软件的开机命令功能,如果开机命令再复杂一点,都不知道要执行到何年何月了,更头疼的问题就是,有时服务器修改了开机脚本,客户机还可能同步失败,所以我们还是要自己动手,因为没有任何一个网维软件可以做到系统登陆就完全启动,但是我们自己添加的开机脚本可以做到,这就是为什么我不建议适用网维软件的开机命令功能,而要自己手动去搞的原因!
IsaacZ的发言中如果提到任何字母缩写或专有名词,在本论坛中一般都能搜索到。点此立即搜索点拨论坛。如有搜索不到的,请尝试搜索百度百科,或者跟帖提问。
发帖前请注意看置顶帖。如果你发现自己的问题没有得到回答,说明你的问题提错了地方或者提问前未先阅读本版规则固顶帖011号

0

威望

47

金钱

0

贡献

新手上路

积分
47
主题
0
回帖
3
注册时间
2011-12-10
最后登录
2011-12-27
发表于 2011-12-27 23:00:38 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|点拨论坛

GMT+8, 2024-5-13 10:57 , Processed in 0.305693 second(s), 16 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表