论文部分内容阅读
学生电子作业的保存一直是困扰许多信息技术教师的一个难题。教师采用的方法一般是使用电子邮件系统、BBS、基于ASP的网络硬盘系统等等,甚至有的教师让学生直接将作业复制到教师机上的共享文件夹或者在学生机上本地保存。上述方法均在操作难易程度、文件安全性、防作业抄袭等功能上存在不同缺陷。笔者使用文件服务器很好地解决了学生作业存储问题,并且在我校机房已经稳定有效运行了两年多,效果良好。
一、设计思路
首先建立一个文件服务器,在服务器为每个班级建立一个文件夹。在每个班级文件夹内再建立若干个学生文件夹,通过一个共享程序使这些学生文件夹定时共享,并在不同的时间定时切换到不同的班级,这样就可以实现每个学生都有一个文件夹。
二、设计方法及过程
假设有70台学生机,14个教学班在机房上课,总共1000个学生。
1.安装服务器
服务器的硬件需求:能够稳定流畅地运行Windows2000服务器版,80GB以上的硬盘,100Mbps以上的网络环境。硬盘分区的格式为NTFS格式。
2.安装域控制器
选择“开始→运行”,输入dcpromo命令,开始安装。笔者的服务器的机器名为“fuwuqi”,域为“domain”。
3.建立学生作业文件夹
按照图1结构建立文件夹。新建一个文本文件,输入代码@for /L %%A in (1,1,70) do md s%%A保存。将扩展名改为bat即可。将该批处理程序复制到各班级文件夹中,双击运行即可建立70个文件夹。
4.建立用户
我们应当为每个学生机建立一个用户,用户名分别是s001、s002……s010……s070。我们可以在ActiveDirectory活动目录中手动安装,但是由于用户数量比较多,可以通过建立一个批处理命令来完成。
@for /L %%A in (10,1,70) 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
For命令是一个循环命令,加上/L表示该循环将按照指定步长在指定的范围内循环。%%A是变量,所以第一句运行完的结果是生成s010、s011……s070用户名。我们希望s010前的用户也是三位数字,所以在第二句中的net user命令后的参数上多加了个0(net user命令是建立用户的命令)。
workstation:s%%A表示登录该域的计算机只能用指定用户登录。即s1号计算机只能使用s001用户来登录。如果使用该计算机的学生使用其他用户登录就会弹出图2所示的提示。
expires:never表示建立的用户永不过期。
/scriptpath:start.bat表示该计算机使用指定用户登录计算机时会执行服务端的一段脚本代码(代码的作用将在后文论述)。
5.共享文件夹
要分别共享某个班级下的所有文件夹的程序代码为:
@for /L %%A in (1,1,70) do net share s%%A$=d:\zuoye\g11\s%%A
这个程序要在上课前运行,即在上一个班级下课若干分钟后运行,取消上一个班的共享。下面我们要将其完善一下(以高一(1)班共享程序为例)。
rem 取消上一节课的共享
@for /L %%A in (1,1,70) do net share s%%A$ /y /delete
rem 重新共享新课
@for /L %%A in (1,1,70) do net share s%%A$=d:\zuoye\g11\s%%A
rem 绑定权限
cd
cd zuoye
cd g11
b.bat
程序中的net share命令就是共享文件夹的命令,其中s%%A$表示文件夹的共享名分别为s1$、 s2$……s70$,后面的$符号可以使该共享文件夹不显示在网上邻居上。
我们把这个程序保存为g11.bat,再用同样的方法为其他班级都分别建立一个批处理文件,分别命名为g11.bat……g16.bat,g21.bat……g28.bat。最后通过任务计划在指定时间调用它们就可以了。
6.绑定权限
上一步实现了可以在指定时间共享,但还有安全上的漏洞。例如,s1号上的计算机能用s001用户去访问服务器s2$这个共享文件夹,只要输入\\fuwuqi\s2$就可以了,也就是说现在的共享还是不安全的。学生有可能去复制或删除其他同学的文件,所以必须绑定权限。例如s1号的计算机用s001用户只能访问\\fuwuqi\s1$。
我们要批量绑定每个班级中每个文件夹的权限,建立b.bat,代码如下:
@for /L %%A in (10,1,70) do echo y|cacls s%%A /p s0%%A:f Administrator:f
@for /L %%A in (1,1,9) do echo y|cacls s%%A /p s00%%A:f Administrator:f
其中cacls是绑定权限命令,该批处理使每个文件夹两个用户。一个是Administrator,供教师或管理员使用,方便检查作业;另一个是学生用户,比如名字为s1文件夹只能由s001用户访问。
现在我们只要把b.bat复制到每个班级文件夹中双击运行就可以了。运行后随意选择一个学生文件夹,右击选择“属性”→“安全”标签,便会看到如图3所示的对话框,每个用户的权限都是完全控制。
下课的时候,执行下面一段批处理:
rem g11
@for /L %%A in (10,1,70) do echo y|cacls D:\zuoye\g11\s%%A /p Administrator:f
@for /L %%A in (1,1,9) do echo y|cacls D:\zuoye\g11\s%%A /p Administrator:f
rem g12
@for /L %%A in (10,1,70) do echo y|cacls D:\zuoye\g12\s%%A /p Administrator:f
@for /L %%A in (1,1,9) do echo y|cacls D:\zuoye\g12\s%%A /p Administrator:f
……
rem g28
@for /L %%A in (10,1,70) do echo y|cacls D:\zuoye\g28\s%%A /p Administrator:f
@for /L %%A in (1,1,9) do echo y|cacls D:\zuoye\g28\s%%A /p Administrator:f
我们把这个批处理保存为xiake.bat。通过这个批处理程序就可以将所有的学生文件夹的权限修改为只有Administrator可以访问了。
7.学生机的设置
(1)将学生机的IP地址段和服务器的IP地址段设在同一段里。学生机的计算机名也应按照步骤1中提到的规则命名。
(2)右击“网上邻居”,选择“Microsoft 网络用户”,登录到Windows NT域。域为domain。
(3)设置完成后,第一次用指定的用户登录。比如,s1号机用s001登录。
(4)选择“文件及打印共享”,去掉“允许其他用户访问我的文件”,这样学生机之间便不能互相传递文件了。在C盘上查找到netcpl.cpl文件,将其删除,以防止学生修改网络设置。
(5)卸载Net Meetting,因为该软件可以用来在不同的计算机间传输文件,卸载以防止学生通过该软件传输作业。找到文件win98_72.cab,使用Winrar解压,删除conf.exe,再将解压后的文件夹压缩为win98_72.cab,修改学生机上的安装包。经过这样处理后学生就无法再安装Net Meetting软件了。
(6)安装还原卡或者还原精灵。
8.在学生机上映射网络驱动器
我们要在学生机上映射一个网络驱动器Y盘。为了简便,建立下面一段程序实现自动映射。
在第4步的程序中有一个参数“scriptpath:start.bat”,指学生登录学生机后,就会自动执行域脚本start.bat。(start\\fuwuqi\netlogon \logon.vbs)。
在这里实际上是调用了一个名为logon.vbs的脚本程序,该程序可以使用记事本来编辑,保存时将扩展名改为vbs即可。该脚本的内容如下:
Set WshNetwork = WScript.CreateObject("WScript.Network")
set wshshell=wscript.CreateObject("wscript.shell")
WshNetwork.MapNetworkDrive "y:", "\\fuwuqi\"
一、设计思路
首先建立一个文件服务器,在服务器为每个班级建立一个文件夹。在每个班级文件夹内再建立若干个学生文件夹,通过一个共享程序使这些学生文件夹定时共享,并在不同的时间定时切换到不同的班级,这样就可以实现每个学生都有一个文件夹。
二、设计方法及过程
假设有70台学生机,14个教学班在机房上课,总共1000个学生。
1.安装服务器
服务器的硬件需求:能够稳定流畅地运行Windows2000服务器版,80GB以上的硬盘,100Mbps以上的网络环境。硬盘分区的格式为NTFS格式。
2.安装域控制器
选择“开始→运行”,输入dcpromo命令,开始安装。笔者的服务器的机器名为“fuwuqi”,域为“domain”。
3.建立学生作业文件夹
按照图1结构建立文件夹。新建一个文本文件,输入代码@for /L %%A in (1,1,70) do md s%%A保存。将扩展名改为bat即可。将该批处理程序复制到各班级文件夹中,双击运行即可建立70个文件夹。
4.建立用户
我们应当为每个学生机建立一个用户,用户名分别是s001、s002……s010……s070。我们可以在ActiveDirectory活动目录中手动安装,但是由于用户数量比较多,可以通过建立一个批处理命令来完成。
@for /L %%A in (10,1,70) 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
For命令是一个循环命令,加上/L表示该循环将按照指定步长在指定的范围内循环。%%A是变量,所以第一句运行完的结果是生成s010、s011……s070用户名。我们希望s010前的用户也是三位数字,所以在第二句中的net user命令后的参数上多加了个0(net user命令是建立用户的命令)。
workstation:s%%A表示登录该域的计算机只能用指定用户登录。即s1号计算机只能使用s001用户来登录。如果使用该计算机的学生使用其他用户登录就会弹出图2所示的提示。
expires:never表示建立的用户永不过期。
/scriptpath:start.bat表示该计算机使用指定用户登录计算机时会执行服务端的一段脚本代码(代码的作用将在后文论述)。
5.共享文件夹
要分别共享某个班级下的所有文件夹的程序代码为:
@for /L %%A in (1,1,70) do net share s%%A$=d:\zuoye\g11\s%%A
这个程序要在上课前运行,即在上一个班级下课若干分钟后运行,取消上一个班的共享。下面我们要将其完善一下(以高一(1)班共享程序为例)。
rem 取消上一节课的共享
@for /L %%A in (1,1,70) do net share s%%A$ /y /delete
rem 重新共享新课
@for /L %%A in (1,1,70) do net share s%%A$=d:\zuoye\g11\s%%A
rem 绑定权限
cd
cd zuoye
cd g11
b.bat
程序中的net share命令就是共享文件夹的命令,其中s%%A$表示文件夹的共享名分别为s1$、 s2$……s70$,后面的$符号可以使该共享文件夹不显示在网上邻居上。
我们把这个程序保存为g11.bat,再用同样的方法为其他班级都分别建立一个批处理文件,分别命名为g11.bat……g16.bat,g21.bat……g28.bat。最后通过任务计划在指定时间调用它们就可以了。
6.绑定权限
上一步实现了可以在指定时间共享,但还有安全上的漏洞。例如,s1号上的计算机能用s001用户去访问服务器s2$这个共享文件夹,只要输入\\fuwuqi\s2$就可以了,也就是说现在的共享还是不安全的。学生有可能去复制或删除其他同学的文件,所以必须绑定权限。例如s1号的计算机用s001用户只能访问\\fuwuqi\s1$。
我们要批量绑定每个班级中每个文件夹的权限,建立b.bat,代码如下:
@for /L %%A in (10,1,70) do echo y|cacls s%%A /p s0%%A:f Administrator:f
@for /L %%A in (1,1,9) do echo y|cacls s%%A /p s00%%A:f Administrator:f
其中cacls是绑定权限命令,该批处理使每个文件夹两个用户。一个是Administrator,供教师或管理员使用,方便检查作业;另一个是学生用户,比如名字为s1文件夹只能由s001用户访问。
现在我们只要把b.bat复制到每个班级文件夹中双击运行就可以了。运行后随意选择一个学生文件夹,右击选择“属性”→“安全”标签,便会看到如图3所示的对话框,每个用户的权限都是完全控制。
下课的时候,执行下面一段批处理:
rem g11
@for /L %%A in (10,1,70) do echo y|cacls D:\zuoye\g11\s%%A /p Administrator:f
@for /L %%A in (1,1,9) do echo y|cacls D:\zuoye\g11\s%%A /p Administrator:f
rem g12
@for /L %%A in (10,1,70) do echo y|cacls D:\zuoye\g12\s%%A /p Administrator:f
@for /L %%A in (1,1,9) do echo y|cacls D:\zuoye\g12\s%%A /p Administrator:f
……
rem g28
@for /L %%A in (10,1,70) do echo y|cacls D:\zuoye\g28\s%%A /p Administrator:f
@for /L %%A in (1,1,9) do echo y|cacls D:\zuoye\g28\s%%A /p Administrator:f
我们把这个批处理保存为xiake.bat。通过这个批处理程序就可以将所有的学生文件夹的权限修改为只有Administrator可以访问了。
7.学生机的设置
(1)将学生机的IP地址段和服务器的IP地址段设在同一段里。学生机的计算机名也应按照步骤1中提到的规则命名。
(2)右击“网上邻居”,选择“Microsoft 网络用户”,登录到Windows NT域。域为domain。
(3)设置完成后,第一次用指定的用户登录。比如,s1号机用s001登录。
(4)选择“文件及打印共享”,去掉“允许其他用户访问我的文件”,这样学生机之间便不能互相传递文件了。在C盘上查找到netcpl.cpl文件,将其删除,以防止学生修改网络设置。
(5)卸载Net Meetting,因为该软件可以用来在不同的计算机间传输文件,卸载以防止学生通过该软件传输作业。找到文件win98_72.cab,使用Winrar解压,删除conf.exe,再将解压后的文件夹压缩为win98_72.cab,修改学生机上的安装包。经过这样处理后学生就无法再安装Net Meetting软件了。
(6)安装还原卡或者还原精灵。
8.在学生机上映射网络驱动器
我们要在学生机上映射一个网络驱动器Y盘。为了简便,建立下面一段程序实现自动映射。
在第4步的程序中有一个参数“scriptpath:start.bat”,指学生登录学生机后,就会自动执行域脚本start.bat。(start\\fuwuqi\netlogon \logon.vbs)。
在这里实际上是调用了一个名为logon.vbs的脚本程序,该程序可以使用记事本来编辑,保存时将扩展名改为vbs即可。该脚本的内容如下:
Set WshNetwork = WScript.CreateObject("WScript.Network")
set wshshell=wscript.CreateObject("wscript.shell")
WshNetwork.MapNetworkDrive "y:", "\\fuwuqi\"