无标题文档
|
|
|
|
|
|
|
|
下一代互联网
  当前位置:EDU首页 > 教育信息化(旧) > 中国教育网络新版 > 技术荟萃 > 软件应用
批处理命令瞬间建好考试作业环境
http://www.media.edu.cn 2008-08-19 作者:查元和

在学校局域网管理中,有一件事是我们必须要做的,就是给学生创建考试作业环境。基本要求是:学生开机后,在桌面上单击某一文件,即可把域控制器上的某一共享目录映射为本机的网络驱动器,此网络驱动器专属本机本用户,且有一定磁盘配额限制。老师只要把试题复制到域控制服务器的系列共享目录,学生便可如同在本机的一个分区进行操作那样打开专属自己的试题进行考试,且这些操作会在域控制服务器上同步存储。

Windows Server 2003环境下建立这样的环境是非常方便的,但是,它毕竟要涉及到创建与设置Active Directory用户账户、共享目录、磁盘配额以及网络映射等问题。因此,若在 Windows的图形界面下进行该项操作,一个用户的工作量至少也要几分钟吧,那么,成百上千个用户呢?这可就够你忙的,不过,我们若采用批处理命令和AutoIt脚本程序,此类烦心事便可瞬间轻松搞定。

第一步:首先,建一个名为“aduser.bat”的批处理命令,目的是要在安装有Windows Server 2003域控制服务器的活动目录Active Directory下新建72个域用户账户(以一个机房72台机为例,下同)。在Windows Server 2003中有一个命令行工具dsadd.exe,它的功能是用来向Active Directory中添加特定类型的对象(包括新建域用户账户),但是,要想给Active Directory添加域用户账户,首先要知道该账户的可分辨名称“DN”,那么这个DN又是什么概念呢?实际上,DNLDAPLightweight Directory Access Protocol)轻型目录访问协议中一个条目的区分名称。

第二步:若要知道一个域用户账户的DN,不妨先在Windows 图形界面下新建一个域用户账户,然后用Windows Server 2003的另一个命令行工具Dsquery.exe(功能是按照指定的条件查询 Active Directory)来查询这个账户的DN。譬如,已建了一个属于域3322.org、组织单位bsjf的账户st101,其相关属性设置为:姓st,名101,姓名(显示名称)st101,登录名st101@3322.org,用户登录名(Windows 2000以前版本)WORKGROUP\st101,密码st101,用户不能更改密码,密码永不过期。然后,我们在Windows Server 2003的命令提示符下输入“Dsquery user”。这时,我们就可以看到其中有一新增条目:CN=st101,OU=bsjf,DC=3322,DC=org,这便是LDAP目录中域用户账户st101DN

第三步:dsget.exe(它也是Windows Server 2003的一个命令行工具,功能是显示Active Directory中特定对象的选定属性)来查询st101其他属性。为此,再次在命令提示符下键入:dsget user "cn=st101,ou=bsjf,dc=3322,dc=org" -dn -upn -fn -ln -display -mustchpwd -canchpwd -reversiblepwd -pwdneverexpires -acctexpires -disabled,即可得到st101账户的如下信息(已经过整理和注释):

dn  cn=st101,ou=bsjf,dc=3322,dc=org (显示用户的DN

upn  st101@3322.org  (显示用户的用户主体名称)

fn 101(显示用户的名)

ln st(显示用户的姓)

display st101(显示用户的显示名)

mustchpwd no(显示用户是否在下次登录时必须更改密码,显示:yesno。)

canchpwd no(显示用户是否能更改密码,显示:yesno。)

reversiblepwd no(显示用户密码是否允许使用可逆的加密存储,显示:yesno。)

pwdneverexpires yes(显示用户密码是否从不过期,显示:yesno。)

acctexpires never(显示用户帐户何时过期,显示值: 帐户过期日期,或如果该帐户

从不过期,显示字符串 "never"。)

disabled no(显示用户帐户是否被禁止登录,显示:yesno。)

第四步:参考第三步中的dsget命令及相关参数和所得属性信息,不妨用dsadd.exe试着给Active Directory添加一个st102账户,在命令提示符下键入:

dsadd user cn=st102,ou=bsjf,dc=3322,dc=org -upn st102@3322.org -fn 102 -ln st -display st102 -pwd st102 -mustchpwd no -canchpwd no -pwdneverexpires yes -disabled no

第五步:dsget.exe查询一下st102的属性,可知在Windows图形界面下新建账户和设置属性与采用命令行工具(dsadd.exe)设置结果完全一致。也就是说,在命令提示符下键入一条dsadd命令及相关参数就能建一个完整的(包括所有预定属性)域用户账户,这就为运用AutoIt脚本和DOS批处理命令批量新建及设置域用户账户创造了条件。

第六步:我们来编写“aduser.bat”批处理文件,内容如下:

for /L %%A in (1,1,9) do dsadd user cn=st10%%A,ou=bsjf,dc=3322,dc=org -upn

st10%%A@3322.org -fn 10%%A -ln st -display st10%%A -pwd st10%%A -mustchpwd

no -canchpwd no -pwdneverexpires yes -disabled no

for /L %%A in (10,1,72) do dsadd user cn=st1%%A,ou=bsjf,dc=3322,dc=org -upn

st1%%A@3322.org -fn 1%%A -ln st -display st1%%A -pwd st1%%A -mustchpwd no

-canchpwd no -pwdneverexpires yes -disabled no

在这个批处理命令中,第一句用了一个For循环语句,变量%%A1变化至9,步长为1,所以建了从st101st1099个账户,参数为前面提到的相关属性,第二句类似建从st110st17263个账户,加起来共72个账户。

页面功能 【字体:   】 【打印】 【关闭】 【联系我们
相关链接
  • 分步式教育资源管理系统的设计和实现
  • 基于Internet的智能导学系统设计
  • 相关链接
  • DVR技术支撑下基于问题的学习
  • 用UML开发大学英语网络教学系统
  • 相关链接
  • 赛尔毕博Blackboard™7.1升级包
  • SFlow技术在网络安全管理中的应用
  • 相关链接
  • Authorware流行网络的关键之处
  • 用开源软件构建数字校园
  • 相关链接
  • Excel中一键实现数据分布统计
  • 在excel下利用分类汇总快速统计数据
  • 无标题文档
    主管单位:中华人民共和国教育部  主办单位:教育部科技发展中心  承办单位:中国教育和科研计算机网CERNET
    《中国教育网络》编辑部 京ICP证060236号 联系电话:010-62603869
    建议使用800*600分辨率及Microsoft IE5.0版本以上浏览器
    copyright © 北京赛尔时代传媒文化有限公司 All Rights Reserved