用Uimport批量建立、更新、删除用户 李小芳 谢若雪 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),回车即可。