河北省信息技术会考快要开始了,按照省中考中心的要求,必须在每个考试终端上映射一个网络驱动器Z盘,路径指向“\考试服务器共享的考生文件夹”。学校共有200多台电脑用于考试,每台电脑上都安装有还原精灵,这下子又要熬夜奋战了。不过笔者没有着急干活,仔细考虑是不是有什么简便的方法。最终,使用Windows脚本和一些批处理命令,在几分钟之内就把这些工作完成了。
首先简要说明一下河北省高中会考考试系统的学生文件夹的工作原理:要求服务器是Windows 2000服务器版,并安装域控制器,学生机安装Windows 98操作系统。省中考中心给的会考软件在考试服务器上安装好以后,能够使用其自带的功能设定用户(我这里为s001、s002……s204),并生成相应的考试文件夹,分别为S001、s002……s204,并绑定使用权限,如s001用户只能使用s001文件夹,并共享为s001$。然后就是要在学生机上映射Z盘,如s1号机网络磁盘路径为“\fuwuqis001$”(我这里服务器名为“fuwuqi”,学生机的机器名为s1、s2……s204),这样学生机都使用指定的用户名登录,打开浏览器进入考试系统,考试结束后,答题结果就保存到Z盘里了。下面,我们就开始建立Z盘。
第一步:建立脚本
笔者这里的服务器建立了域控制器,学生机都要登录到Domain域。让所有的用户在登录域的时候自动执行一个建立Z盘的脚本不就可以了吗!
首先打开记事本,输入如下代码:
Set WshNetwork = WScript.CreateObject("WScript.Network")
# 定义使用到的对象
set wshshell=wscript.CreateObject("wscript.shell")
# 定义使用到的对象
wscript.sleep 3000
# 由于以下是使用用户名来定义网络驱动器的路径,当用户点击登录框上的[确定]后,马上执行第4行代码,不能立刻识别用户名,所以要适当延长时间,在这里笔者延长了3秒。
WshNetwork.MapNetworkDrive "z:", "\fuwuqi"&WshNetwork.username&"$"
# 映射网络驱动器的名称和路径。由于考试文件夹的共享名就是“用户名$”,所以使用“\fuwuqi"&WshNetwork.username&"$”作为共享文件夹夹的路径。
然后保存为logon.vbs,注意扩展名为vbs。
第二步:使用脚本
脚本编制好后,要在学生机上运行就要用到登录脚本。我们在考试服务器上打开“Active Directory用户和计算机”,在一个用户上点击右键选择“属性”,再选择“配置文件”,在登录脚本处输入“start.bat”。这样打开s1号机,登录domain域就可以执行该代码。打开我的电脑,可以看到里面已经有一个Z盘了。但是这样还是麻烦,于是笔者又编制了一个批处理文件,轻松完成了这些操作,代码如下:
@for /L %%A in (10,1,204) do net user s0%%A /add /workstation:s%%A /expires:never /scriptpath:start.bat
@for /L %%A in (1,1,9) do net user s00%%A /add /workstation:s%%A /expires:never /scriptpath:start.bat
该批处理执行完成之后,s1号机只能使用用户名s001登录,用户永不过期,并且用户登录域时执行start.bat批处理程序。
将该命令保存为“建立用户.bat”,运行后几百个用户瞬间就完成了。然后只要学生机登录到domain域,就会自动生成一个Z盘,并且指向指定的考试文件夹。使用起来也特别方便,如果没有考试的时候我们就把logon.vbs文件从netlogon中移出,考试的时候再加上。这样学生只有在考试的时候才能使用Z盘。怎么样,是不是节省了不少工作量啊!