用Uimport批量建立、更新、删除用户

Author: 李小芳 谢若雪 Date: 2001年 15期

    看了2001年3月26日《电脑报》H13版面的《在Novell中如何批量建立用户》的文章,我们想补充一下更简便的方法。现在, Novell操作系统一般都升级到了4.x或5.x版了,在Novell Netware 4.x/5.x下,用系统提供的实用程序uimport.exe,能方便地批量建立、修改、删除用户。下面就把我们使用uimport的一些方法和经验介绍给大家。
  #1    Uimport的语法说明
      Uimport,是一个利用ASCII文件信息创建用户对象的实用程序,它的语法为:
      UIMPORT [controlFileName] [dataFileName] |[/VER]|/[[/?]?燵ALL]|[ATTR]][/C]??
      更详细的使用说明,在进入Novell系统后可以通过用uimport/?或者uimport/? all获得。要批量处理用户对象可以用如下方法实现
      UIMPORT user.ctl user.dat
      其中user.ctl是导入用户的控制文件,user.dat是导入用户的数据文件。下面我们给出控制文件和数据文件的一些说明:
      1.这两个文件都遵循一定格式,可用纯文本编辑软件创立和修改。user.ctl包括两大部分:
      ①导入控制 import control,包括一些控制选项,如果使用缺省设置,可以不需要这一部分。常见的一些选项如下:(^15041101a^)
      ②用户属性字段 fields,如NAME(用户名)、LAST NAME(全名)、LOGIN SCRIPT(登录底稿)、PASSWORD(口令)、MAXIMUM CONNECTIONS(最大连接数)、ACCOUNT BALANCE(结算余额)、VOLUME RESTRICTIONS(卷空间限制)等等,可依照实际情况选择合法的fields字段。
      2.user.dat中的用户数据信息是根据user.ctl中的fields的字段来决定的,每一行对应一个用户,每行的每一项对应user.ctl中fields中的子段。
  #1    在根下批量建立用户对象
      1.首先在用户卷下建立一个目录,比如在nwserver_student卷下建立 user目录,下面批量生成的用户的目录就是建立在这个目录下。
      2.编写控制文件user.ctl,可以使用edit或记事本编写。控制文件的作用是告诉Uimport实用程序如何翻译数据文件的内容。控制文件的格式是:标题部分(IMPORT CONTROL和FIELDS)不缩进,标题下面的选项采用缩进方式,至少须缩进一个空格或一个制表符。
      3.编写数据文件user.dat。数据文件是ASCII文件,每一行代表一个用户对象的属性数据,各个属性数据之间用逗号分隔开。需要注意的是:①如果某个用户对象的某个属性值中有空格,则须用引号括起这个属性值。②如果某个用户对象的某个属性值没有空格,则在数据文件中不用写,但是一定要用逗号分隔一下。③卷空间限制属性项中是在卷名后面加冒号,然后是具体需要限制的空间上限,单位是KB。下面是一个与控制文件user.ctl对应的数据文件例子,我们只给出了三行,其余省略:
      USER01,USER01,LOGIN.log,1,160,NWSERVER_STUDENT:5000
      USER02,USER02,LOGIN.log,1,160,NWSERVER_STUDENT:5000
      ... ... ... ...
      USER10,USER10,LOGIN.log,1,0,160,NWSERVER_STUDENT:5000
      编写数据文件的一点技巧:使用编辑器的替换功能,可以方便地编写不同用户组的数据文件。
      4.编写登录底稿LOGIN.log。使用合法的语句为用户编写登录底稿。当然,各个用户的登录底稿可以不一样,你只在数据文件中指明登录底稿的文件名就可以了。下面是一个登录底稿的例子:
      map display off
      break off
      map error off
      map b:=student:
      map a:=soft:
      map s16:=sys:login
      map s16:=sys:public
      map s16:=sys:public\dos
      map s16:=soft:pwin32
      map s16:=soft:ucdos
      map s16:=soft:lanuage\fox25
      map s16:=soft:cai\tplx
      comspec=s3:command.com
      no_default
      map r *1:=student:USER\%login_name
      fire phasers 2 times
      5.批量建立用户
      uimport user.ctl user.dat
      几点经验:①当运行出现错误时,你得中断,修改控制文件或数据文件对应的错误,否则继续进行。②完成批量建立用户后,最好抽样测试你的用户,如发现有问题,你得重新批量修正。
  #1    批量更新用户对象
      要更新用户的信息,只要控制文件中的输出模式选项选U 或B,然后修改控制文件中相应的控制选项和数据文件中的属性值。比如为增大用户卷空间大小、增加结算余额、批量锁定用户账号等。下面的控制文件和数据文件能实现批量锁定用户的功能:
      控制文件 update.ctl
      IMPORT CONTROL
      IMPORT MODE=U
      NAME CONTEXT=“.O=ROOT”
      FIELDS
      NAME
      LAST NAME
      ACCOUNT DISABLED
      数据文件 Update.dat
      USER01,USER01,Y
      USER02,USER02,Y
      … … … …
      USER10,USER10,Y
  #1    批量删除用户对象
      删除用户,控制文件中的输出模式选项应该为R,例如要删除根下的USER01~USER10,控制文件和数据文件分别设计如下:
      控制文件deluser.ctl
      IMPORT CONTROL
      IMPORT MODE=R
      NAME CONTEXT=“.O=ROOT”
      FIELDS
      NAME
      LAST NAME
      数据文件 deluser.dat
      USER01,USER01
      USER02,USER02
      … … … …
      USER10,USER10
      在系统下运行uimport deluser.ctl deluser.dat系统会问是否真的要删除(remove),回车即可。