====== Bulk User Editor ======

ALLUSERS can allow a sysop to modify the security settings for a large number of users with one command line. If you're a Synchronet sysop, you may have found yourself at one time or another going through the internal User Editor searching for users with a certain flag or exemption and changing their level, removing an exemption, adding a restriction, etc. The User Editor's ARS search facility is very quick and flexible, but having to hand modify each user, even with the use of macros, can be very tedious with a large user database.

This program attempts to eliminate the monotony of such a task. With a single command line, you can change security levels, add/remove flags, exemptions, or restrictions to some or all of the users in your database. 

===== Invoke =====

The syntax is pretty simple:

Syntax

  allusers /sbbs/data/user -require /modify


==== User Data Path ====

The first parameter, (e.g. ''/sbbs/[[dir:data]]/user'') is the directory where your Synchronet ''user.dat'' file is located.  If the ''user.dat'' file is in the current directory, the path should be simply "." for current directory. This parameter is not optional.

==== Requirements ====

The second parameter, ''-require'' is optional. Use this parameter to specify a security requirement for the modifications to follow. Multiple ''-require'' parameters can be specified, and the syntax is as follows:

  * -L#		set minimum level to # (default is 0)
  * -M#		set maximum level to # (default is 99)
  * -F#<flags>	set required flags for flag set # (Default is flag set #1)
  * -E<flags>	set required exemption flags
  * -R<flags>	set required restriction flags

Examples:

  * -L20  indicates that only users with a level of 20 or higher will be modified
  * -M80  indicates that only users with a level of 80 or lower will be modified
  * -FC   indicates that only users with flag 'C' from flag set #1 will be modified
  * -F3G  indicates that only users with flag 'G' from flag set #3 will be modified
  * -RA   indicates that only users with the 'A' restriction will be modified

If multiple requirement parameters are specified, they must each begin with a dash '-' character and be separated by at least one space.

Examples:

  * -L50 -M59  indicates that only users between level 50 and 59 will be modified
  * -RB -F2M   indicates that only users with the 'B' restriction and flag 'M' in flag set #2 will be modified

Multiple required flags may be specified as well.

Example:

  * -F4AC	   indicates that only users with both the 'A' and 'C' flags from flag set #4 will be modified
  * -EPLM	   indicates that only users with the 'P', 'L', and 'M' exemptions will be modified

==== Modifications ====

Next on the command line are one or more modification parameters. Each modification parameter begins with the slash '/' character. The available modification parameters are as follows:

  * /L#			set level to #
  * /F#[+|-]<flags> 	add or remove flags from flag set #
  * /E[+|-]<flags>		add or remove exemption flags
  * /R[+|-]<flags>		add or remove restriction flags

Examples:

  * /L20  indicates that all users' levels will be changed to 20
  * /FA   indicates that flag 'A' from flag set #1 will be added to all users
  * /F3-G indicates that flag 'G' will be removed from flag set #3 for all users
  * /E+L  indicates that exemption 'L' will be added to all users
  * /R-N  indicates that restriction 'N' will be removed from all users

Flag set #1 is the default, so "/F1+A" and "/F+A" are equivalent.
Addition of flags (+) is the default, so "/F+A" and "/FA" are equivalent.
Flags and parameters are not case sensitive, so "/FA" and "/fa" are equivalent.

Multiple modification parameters can be used.

Example:

  * /L40 /F2-Z   indicates that all users will be set to level 40 and have flag 'Z' from flag set #2 removed

Multiple flags per modification may be specified.

Example:

  * /RAB	     indicates that both 'A' and 'B' restrictions will be added to all users.

Complete Examples

To change all level 20 users to level 30, use the following command line:

  allusers /sbbs/data/user -L20 -M20 /L30

To give all QWKnet node users the 'M' exemption, use the following command:

  allusers /sbbs/data/user -RQ /EM

To give all users below level 90, the 'B' restriction, use the following:

  allusers /sbbs/data/user -M89 /RB

To give all users with level 50 or higher, the 'M' and 'L' exemptions:

  allusers /sbbs/data/user -L50 /EML

To remove flag 'C' from flag sets #1 and #2 from all users:

  allusers /sbbs/data/user /F1-C /F2-C

===== See Also =====
  * [[util:index|Utilities]]