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"下.
(3)编写一个启动/关机脚本配置文件scripts.ini,这个文件名是固定的,不能改变.内容如下:
[Startup]
0CmdLine=admin.bat
0Parameters=
将文件scripts.ini保存到"E:\winnt\system32\GroupPolicy\Machine\Scripts"下,也就是故障计算机原来的"C:\winnt\system32\GroupPolicy\Machine\Scripts"下.
(4)将硬盘恢复为主盘,接回原来的计算机,重新启动,等待启动脚本运行.启动脚本运行结束管理员administrator的密码就被恢复为"12345678".
(5)如果要新建一个管理员账号,admin.bat文件的内容可以修改为:
net user admin 12345678 /add
net localgroup administrators admin /add
这样一个名为"admin",密码是"12345678"的管理员账号就建立了.
这个方法不仅可以恢复独立服务器上本地管理员密码,也可以恢复Win2000域中域管理员的密码.