深入浅出Win2000计算机启动/关机脚本这个策略对应的注册表值是"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system\RunStartupScriptSync",这是一个REG_DWORD值,0表示启用,1表示禁用. (8)显示启动/关机脚本的运行状态 在默认情况下,系统不显示启动脚本中的指令.如果启用这个策略,系统会在启动脚本运行时显示每个指令,指令把出现在命令窗口,或显示出人机交互界面。这个功能主要是为高级用户设计的.如果停用或不配置这个策略,指令则不会显示.建议不配置. 举个例子,假设你在启动脚本中有一条命令是"c:\winnt\explorer.exe c:\winnt",如果启用了这一策略允许显示启动脚本的运行状态,那么当计算机启动时,一个资源管理器窗口就会跳出来,桌面被打开,系统以system用户的身份交互登录到计算机上,这无异于那个著名的输入法漏洞!由此可以看出,打开启动/关机脚本的运行状态有时是非常危险的. 这两个组策略条目对应的注册表值分别是"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system\HideStartupScripts"和"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system\HideShutdownScripts",均为REG_DWORD值,0表示启用,1表示禁用. (9)组策略脚本的最长等待时间 这个策略限制了由组策略完成运行登录、开始和关闭脚本所需的全部时间.如果当指定时间已超过但脚本尚未完成运行,系统会停止脚本处理并记录一个错误事件.在默认情况下,系统允许合并的脚本集运行600秒(10分钟). 要使用这个策略,在第二个框中键入从1到32000之间的数目以确定您希望系统等待脚本完成的时间,单位是秒.要让系统一直等到完成运行脚本为止,无论等待时间多久,请键入0(图七)(t7.gif).但不建议这样,如果你的脚本写的很差,那后果把难以想象! 如果其它系统任务必须等待脚本完成才能进行,这个间隔时间就非常关键.在默认的情况下,必须完成每一个启动脚本后才能运行下一个,您还可以使用"非同步运行启动脚本"策略让系统等到完成启动脚本后再出现邀请用户登录的对话框.间隔过长可延缓系统并使用户不方便,如果间隔太短,所需的任务无法完成系统会可能会过早就绪,导致出现问题. 这个组策略条目对应的注册表值是"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system\MaxGPOScriptWait",也是一个REG_DWORD值,它的值表示等待的时间,单位是秒. 四.应用 计算机启动/关机脚本的用途很多,下面举三个比较典型的例子: 1.计算机启动和关机时间审核 (1)编写一个能够记录时间的脚本LogTime.vbs,内容如下: '================================================ dim ArgObj,str,strtmp Set ArgObj = WScript.Arguments If ArgObj.Count < 1 Then strtmp="无参数操作!" else select case ArgObj.Item(0) case "startup" strtmp=" 服务器启动." case "shutdown" strtmp=" 服务器关闭." case else strtmp=" 未知操作!参数:"+ArgObj.Item(0) end select end if set fso=CreateObject("Scripting.FileSystemObject") set tmp=fso.opentextfile("d:\log\logtime.txt",8,true) str="["+cstr(now())+"] "+strtmp+chr(13)+chr(10) tmp.write str tmp.close set tmp=nothing set fso=nothing '================================================= 这个脚本有两个参数:startup和shutdown.当用作启动脚本时,使用"startup"参数;当用做关机脚本时,使用"shutdown"参数.另外,脚本中使用了FileSystemObject对象,使用该脚本前请确保这个对象已经存在于你的计算机上. (2)按照前面的方法把脚本设置好.每次计算机启动或关机,这个脚本都会运行,并把计算机启动或关机的时间(实际上这个脚本运行时的时间,但两者应该相差无几)记录到一个文本文件中,例子中是"d:\log\logtime.txt",可以根据需要更改. 2.删除一些特殊的共享 在Win2000中,由于计算机管理、用户登录等方面的需要,系统会建立许多特殊的共享,如C$、D$、ADMIN$、IPC$、NETLOGON等,但这些共享并不是所有的计算机都必须的.使用"计算机管理"MMC或net share命令等禁止这些共享,只是一种治标不治本的方法,它们在计算机重新启动后会重新出现.基于安全等方面的考虑,我们有时希望把这些共享彻底删除.现在删除这类特殊共享的方法比较多,如编辑注册表,下面就再提供一种使用启动脚本删除这些特殊共享的方法. (1)编写一个能删除特殊共享的批处理文件DelShare.bat,内容如下: net share C$ /delete net share D$ /delete net share IPC$ /delete net share NETLOGON /delete (2)按照前面的方法把脚本设置为启动脚本,重新启动计算机.OK,一切都清净了. 3.恢复管理员密码或新建管理员账号 丢失管理员密码是件非常令人头疼的事情,但说不定什么时候就会碰到.在紧急情况下,怎么样恢复管理员密码乃至新建一个管理员账号,现在已经有许多成熟的技术,如经典的登录屏幕保护程序法、使用O&O软件等.实际上,使用启动脚本也是一个相当不错的选择. (1)如果故障计算机使用FAT/FAT32文件系统,那可直接使用Win98引导盘引导.如果使用NTFS文件系统,可把故障计算机上的硬盘取下,以从盘模式挂接到其它的Win2000计算机上.下面的操作以后一种情况为准,假设现在故障计算机的system分区(通常是C在新的计算机上成为分区E:. (2)编写一个能恢复管理员密码的批处理文件admin.bat,内容只需要一条"net user"命令即可.如下: net user administrator 12345678 这儿我们假设当前的管理员是administrator,把它的密码恢复为"12345678".把文件admin.bat保存到"E:\winnt\system32\GroupPolicy\Machine\Scripts\Startup"下,也就是故障计算机原来的"C:\winnt\system32\GroupPolicy\Machine\Scripts\Startup"下. 上一篇: 用WIN2000自带武器让入侵者无处遁形 下一篇: 怎么样在Win2000上安装配置防火墙 更多相关文章
|
推荐文章
精彩文章
|