Utilities in JRButils v4.00 Part A

Accexp

Accexp is intended for use in a login script under NW 2.x and NW 3.x
where it displays a warning if the user's account is about to expire.
The number of days before expiry at which warnings begin is
adjustable and defaults to 7.

Bindclos

Bindclos may be used on NW 2.x and NW 3.x servers to close the bindery.
Use bindopen to re-open it afterwards.

Bindopen

Bindopen may be used on NW 2.x and NW 3.x servers to open the bindery.
Use bindclos to close the bindery first.

Chkhome

Chkhome allows you to check that HOME_DIR bindery properties created
by David Harris' SETHOME program, or the SETHOME2 program in JRButils
are set correctly. It can do the following:

o   Display home directories for one or more users.
o   Check for each user that the directory stored in HOME_DIR actually
    exists, and if it does not, it will scan other volumes on the
    server for a matching directory.
o   For a single directory, or all subdirectories of a directory, check
    if there is a registered user corresponding to the lowest level
    directory i.e. for vol1:users\karen, it will check if user karen
    exists.
o   For each directory, check that the corresponding user's HOME_DIR
    property contains that directory i.e. for vol1:users\karen it
    checks that karen's HOME_DIR contains vol1:users\karen.

Cl_type

For use in a BAT file to determine the type of client being used.
It returns the following error levels:

   0  No client is loaded
   1  NETX.EXE (or one of its predecessors) is loaded
   2  VLMs are loaded
   3  Client32 is loaded

Cl_type can display the client type as well as setting the
appropriate error level.

Creatobj

Creatobj allows you to create bindery objects of almost any sort. It
is intended primarily for creating users in batch mode. Creatobj does
the following by default:

o   Gives the user the default account restrictions as set under
    "Supervisor Options" in syscon.
o   Makes the user a member of group everyone.
o   Creates a mail directory and grants rights to it.
o   Assigns a default account balance and credit limit if accounting
    is enabled.
o   Sets a null password.

Creatobj may also do the following via command line switches

o   Set a password.
o   Create a login script
o   Create a home directory and grant rights to it
o   Store the home directory path in a bindery HOME_DIR property

Delobj

Delobj can delete almost any type of bindery object. For safety
you may not use wild cards when deleting objects. Nor will it
delete groups with members. When deleting users, delobj will
delete the user's home directory if it is stored in the bindery
or if it is specified on the command line, and it will also
delete the mail directory and its contents.

Delprop

This is a simple little program which will attempt to delete a
bindery property for any object under NW 2.x and 3.x. Its primary
purpose is to overcome a problem of bindery corruption where
syscon will report error 234 which means that the link between
a property and its data has been lost. Bindfix fails to fix
this situation which can be resolved by deleting the affected
property.

Disable

Disable will disable logins under NW 2.x, 3.x and 4.x. Use 'enable'
to subsequently re-enable logins.

Downsrvr

Downsrvr may be used by a console operator or supervisor equivalent
use to down a NW 2.x, 3.x or 4.x server. By default it will ask for
confirmation before downing the server, but you may suppress this.

Dquota

Dquota is intended for use in a login script to display the user's
quota, space used and space available. It can handle NW 2.x quotas,
volume quotas under NW 3.x and 4.x, and directory quotas under NW
3.x and 4.x. The format of the output is extremely flexible, and
it is possible to supply a text file with substitution parameters
for the quota, space used etc. Warnings may be given if the user's
free space falls below a certain threshold.

Enable

Enable may be used by a console operator or supervisor equivalent
user to enable logins to a file server under NW 2.x, 3.x and 4.x.
Use 'disable' to disable logins.

Getequiv

Getequiv may be used to check for or display security equivalences.
It can do the following:

o   List all security equivalences for one or more users
o   List all users who are security equivalent to another e.g.
    supervisor
o   Check for accounts which have been modified using Wolfgang
    Schreiber's super utility allowing supervisor equivalence to be
    turned on and off at will.
o   List users who are managers of their own accounts. Under 3.11,
    these users can grant themselves supervisor equivalence using
    super.

Getquota

Getquota can display disk quotas, disk usage and disk available for
multiple users. It can handle disk quotas under NW 2.x, volume based
quotas under NW 3.x and 4.x, and directory based quotas under NW 3.x
and 4.x. Features include:

o   Can obtain a user's home directory from the bindery
o   Can show a user's volume quotas on all volumes or a single volume
o   Can show quotas on all subdirectories of a directory
o   Optional sorting into ascending or descending order of quota,
    space used, space available, or by username
o   Optional totals only
o   Can suppress any of the output (quotas, space used, space
    available)
o   Can filter by value e.g. list all users whose usage exceeds 100 MB
o   Output may be in bytes, 4096 byte blocks, KB or MB
o   Can operate on user's mail directories

Getrest

Getrest displays account restrictions for multiple users. These include:

    Account Disabled
    Account Expired
    Account Expiration Date
    Account Locked
    Bad Login Address
    Bad Login Count
    Grace Logins Allowed
    Grace Logins Remaining
    Last Login Date and Time
    Maximum Concurrent Connections
    Maximum Disk Usage (2.x only)
    Password Minimum Length
    Next Reset Time
    Password Expired
    Password Expiration Date
    Password Expiration Interval
    Previous Login Date and Time
    Password Required
    Station Restrictions
    Time Restrictions
    User Can change Password
    Unique Password Required

Its features include:

o   Displays all restrictions, or a single restriction e.g. minimum
    password length.
o   Can control the order and width of each output field (username,
    server/username, full name, server name, restriction value) when
    displaying individual restrictions.
o   Can sort into ascending or descending order by username or by
    restriction value.
o   Can filter by restriction value e.g. list all users whose account
    has expired, or all users whose maximum concurrent connections
    is not equal to 1.
o   Can display the default account restrictions as set under
    "Supervisor Options" in syscon.

Grpadd

Grpadd adds one or more users to a group under NW 2.x, 3.x and in
bindery mode under 4.x. Its features include:

o   Can create the group
o   Can accept one or more users on the command line
o   Can add all members of another group
o   Can add a list of users from a file
o   Can warn if the user has more than 32 security equivalences after
    being added to the group (IntraNetWare uses only the 1st 32 when
    determining a user's rights).

Grpdel

Grpdel removes one or more users from a group under NW 2.x, 3.x and in
bindery mode under 4.x. Its features include:

o   Can accept one or more users on the command line
o   Can remove all members of another group
o   Can remove a list of users from a file
o   Can delete the group if it has no remaining members

Grplist

Grplist lists the members of one or more groups. Features include:

o   Outputs the full name of each member
o   Optional sorting by member name
o   Optional totals only
o   Optional listing of all users on the server
o   Can use logical operators and, or and not to list users who are
    or are not members of a combination of groups

%% 99, 0 Grpmemb
Grpmemb is intended for use in a BAT file to determine if a specific
user is a member of a particular group. It returns one of two
possible sets of error levels. The default set is:

     0  Success (user is a member)
     1  Failure (user is not a member)
     2  No such group
     3  No such user
     4  Any other error

The alternative is:

     0  Failure (not a member and all errors)
     1  Success (user is a member)

Grpmemb may also output the result to the screen.

Is_vlms

Is_vlms is intended for use in a BAT file to determine whether NETX
or the VLMs are in use. It returns the following error levels:

     0  Neither NETX nor VLMs are loaded
     1  NETX.EXE (or one of its predecessors) is loaded
     2  VLMs including REDIR.VLM and NETX.VLM are loaded
     3  VLMs including REDIR.VLM but not NETX.VLM are loaded
     4  VLMs are loaded but REDIR.VLM and NETX.VLM are not

Is_vlms may also output the result to the screen.

Jberrtxt

Accepts a NetWare error code in decimal or hexadecimal, looks it
up in JRBERR.MSG (the file of error code translations used by all
of JRButils) and displays the description if found. Currently,
JRBERR.MSG does not contain descriptions for the error codes
returned by print servers.

Killconn

Killconn clears connections from a file server under NW 2.x, 3.x and
4.x. Features include:

o   Can clear all connections from a server
o   Can clear all not logged in connections
o   Clear connections for objects of a specific type
o   Clear connections for objects of a given name
o   Clear specific connection numbers
o   Clear connections which have been logged in for less than or
    greater than a specified time.
o   Clear connections of users who are members of specified groups.
o   Can accept a list of object names or connection numbers in
    a file
o   Can query whether or not to clear each connection
o   Can specify a list of objects whose connections are to be retained
o   Has a suicide option where it will logout your connection after
    clearing all other requested connections

Listobj

Listobj lists objects of any or all types across multiple file
servers. Features include:

o   Can specify multiple server names, possibly containing wild cards.
    If a server name is preceded by '!', it is skipped.
o   Attaches transparently as GUEST if this account is available
o   Displays full names and optionally object IDs
o   Can accept a list of names in a file
o   Optional sorting by username, object ID or object type when all
    users are being listed
o   Can list only permanent or temporary bindery objects
o   Optional totals only
o   Can optionally search the full name field as well as usernames
o   Can output full names for users, groups and print servers as
    'setname' commands.
o   Can return an error level if no matching objects are found,
    providing a means to detect in a BAT file if an object of any
    type exists.

Makememb

Makememb is an alternative to grpadd and grpdel. Whereas these allow
addng or removing multiple users from a group, makememb allowes adding
or removing individual users from multiple groups. Features include:

o   Can create groups
o   Can specify multiple groups on the command line
o   Can specify files containing groups
o   Can specify a file containing one username followed by one or
    more group names on each line
o   Can query whether or not to make the user a member of each group
o   Can warn if the user has more than 32 security equivalences after
    being added to the group (IntraNetWare uses only the 1st 32 when
    determining a user's rights).

Pwdexp

Pwdexp is intended for use in a login script under NW 2.x and NW 3.x
where it displays a warning if the user's password is about to expire.
The number of days before expiry at which warnings begin is
adjustable and defaults to 7.

Pwdexp can also force a password change if the password has expired.
It will prompt for and change the password. However, there is a bug
in all versions of login.exe where it still says the password has
expired and asks if you want to change it, even when the password
has already been changed by a program run by the login script.

Renobj

Renobj allows renaming of one or more objects of any type. Features
include:

o   When renaming a user, it will check for the existence of a
    HOME_DIR property. If found, it will rename the user's home
    directory to match the user's new name and update the contents
    of HOME_DIR.
o   Can specify the home directory path on the command line when the
    user does not have a HOME_DIR property.
o   Can process a file containing one old name and one new name per
    line.

Requests

Requests continuously displays the total requests, bytes read and
bytes written for up to 20 connections on a NW 4.x server since the
program began running (the information is not available under earlier
versions). This allows easy identification of workstations loading a
server. The output is sorted into descending order by whichever
column you select, and the column on which you are sorting can be
changed without restarting the program.

Scanprop

Scanprop lists the properties of any type of bindery object giving
their type ('item' or 'set'), whether they are static or dynamic,
and their security. Displaying the contents is optional. Scanprop
can decode the contents of all well known properties and those
which it cannot decode are displayed in hexadecimal. Under NW 4.x,
scanprop may be used to determine which NDS attributes are visible
as bindery properties.

Serv_cmd

Allows various server console commands to be executed from a work
station. These are:
   Add a name space to a volume
   Mount a volume
   Dismount a volume
   Execute an NCF file
   Load an NLM
   Unload an NLM
   Display the loaded modules
   Display the values for "set" commands
   Down the server
   Disable logins
   Enable logins
The first 6 commands require supervisory rights, the remainder
require console operator status. Serv_cmd functions only on
NW 4.x servers.

Sethome2

Sethome2 is an alternative to David Harris' sethome program for
creating HOME_DIR bindery properties and storing the user's home
directory path in it. Sethome2 can process multiple users in a
single command whereas sethome processes only one. Features include:

o   If you specify a root directory (e.g. vol1:users), it will
    automatically append the username to obtain the home directory
    path for each user.
o   Can specify an absolute path where the home directory does not
    match the username (e.g. for supervisor).
o   Can create the home directory if it does not exist. The user will
    be assigned [RWCEMFA] rights to the created directory.
o   Can modify the rights to existing home directories.
o   Can delete home directory properties.

Setname

Setname sets the full name for one or more users, print servers or
groups. Features include:

o   Can set the same full name for multiple users
o   Can set the same full name for all members of a group
o   Can process a makeuser .usr file to ensure the full name is
    set as specified (makeuser converts it to uppercase)
o   Can convert existing full names to a combination of upper
    and lowercase
o   Can delete full names
o   Can use a file containing object names and full names

Setowner

Setowner can change the ownership of individual files, selected
files in a directory tree, all files and directories in a directory
tree, or can treat each subdirectory as a separate tree and set
ownership to the user corresponding to the subdirectory name e.g.
for vol1:users\hewey set ownership to hewey, for vol1:users\dewey
set ownership to dewey etc. Other features include:

o   Can obtain a user's home directory from the HOME_DIR bindery
    property.
o   Can specify the name of the new owner
o   Can set ownership to objects of any type
o   Can change ownership of only those files without a valid owner
o   Can process user's mail directories

Setpword

Setpword can set passwords for multiple users across one or more
servers. Features include:

o   Can specify multiple server names, optionally containing wild
    cards. Names preceded by '!' are skipped.
o   Can set passwords for a range of users e.g. comp001-comp100
o   Can set null passwords
o   Can set the password to match the username
o   When using an input file, it is possible to set a different
    password for each user
o   Can generate random passwords of any length. These may optionally
    be written to a file, along with the username and optionally the
    server name and user's full name. The random passwords can be
    generated without them actually being set.
o   Can be used by anyone, but if you are not supervisor or equivalent
    or a manager of the target object, the old password is required
o   When changing passwords for other users, NetWare by default expires
    the password if a password expiration interval is set. Setpword
    can retain the current expiry date, or update it by the password
    expiration interval.

Setquota

Setquota sets quotas for multiple users. It handles 2.x disk quotas,
volume based quotas under NW 3.x and 4.x, and directory quotas under
NW 3.x and 4.x. Features include:

o   Can obtain user's home directories from the HOME_DIR bindery
    property
o   Can set a specific quota, or increment/decrement a quota by a
    given amount e.g. 2 MB
o   Quotas may be removed
o   Quotas may be specified in units of bytes, 4096 byte blocks, KB
    or MB
o   Can set quotas on user's mail directories. These may be the
    subdirectories of SYS:MAIL or the PMAIL subdirectories of the
    user's home directory.
o   Can process all subdirectories of a directory, or all directories
    in a tree
o   Can query whether or not to set a quota for each user or directory

Setrest

Setrest sets account restrictions for multiple users. These include:

    Account disabled
    Account Expiration Date
    Account Locked
    Bad Login Address
    Bad Login Count
    Grace Logins Allowed
    Grace Logins Remaining
    Last Login Date and Time
    Maximum Concurrent Connections
    Maximum Disk Usage (2.x only)
    Password Minimum Length
    Next Reset Time
    Password Expiration Date
    Password Expiration Interval
    Password Required
    Previous Login date and time (NW 2.x and 3.x only)
    Station Restrictions
    Time Restrictions
    User Can change Password
    Unique Password Required

Setrest may also set the default account restrictions displayed under
"Supervisor options" in syscon.

Trstlist

Trstlist display trustee assignments for multiple users or directories.
Features include:

o   Can display trustees for selected files, directories, or all
    directories in a tree
o   Can display trustees for any type of object on any or all
    volumes
o   Optional sorting by user, directory or rights
o   Optional filtering by trustee rights e.g. can list only those
    trustees with supervisory rights
o   Can optionally list the trustee rights as 'rights' or 'grant'
    commands allowing them to be saved in a form in which they can
    be restored via a BAT file
o   Can optionally list the trustee rights as 'rights' or 'remove'
    commands allowing them to be saved in a form in which they can
    be removed via a BAT file
o   Can optionally list trustee rights for an object which are
    inherited through security equivalence. As a user is security
    equivalent to groups belonged to, this included trustee rights
    inherited via group membership.
o   Can display only those files and/or directories without
    trustees.

Usergrps

Usergrps lists the groups which one or more users belong to. Features
include:

o   Optional sorting by username
o   Optional sorting of the groups belonged to
o   Can exclude selected groups e.g. everyone

Users

Users is a replacement for Novell's userlist program. It is very much
more flexible and has the following features:

o   Can list logged in users across multiple servers. Wild cards may
    be used in server names, and servers may be excluded by preceding
    the name with '!'.
o   Will attempt to attach transparently to other servers as GUEST
o   Can display not logged in connections
o   Can select from 13 possible output fields and control the order
    of each field and its width. These fields are:
      Combined network and station address
      Connection number
      NW 4.x connection status (console operators only)",
      Login date
      Full name of the logged in object
      Object ID
      Location of the workstation
      Network address
      Object name
      Period for which the object has been logged in
      Server name
      Login time
      Workstation address
o   Can display where a user is logged in. This requires a text
    database mapping network addresses to locations. This file may
    also contain wild card entries which are used when no exact
    match is found. This feature allows, for example, entries for
    different networks.
o   Can sort the output on any of the fields
o   Can filter output on numerous fields
o   Can display the total users logged in on each server
o   Can show members of selected groups who are logged in

Vol_info

Vol_info displays information about all volumes on a server, or
selected volumes, under NW 2.x, 3.x and 4.x. The information
includes

    o  Name spaces loaded
    o  Volume size, space used, space available and percentage full
    o  Free (purged) blocks, purgeable blocks and not yet purgeable
       blocks (NW 3.x and 4.x)
    o  Number of directory entries allocated, used and available
       (NW 3.x and 4.x)
    o  All information available from the 'volumes' option in
       SERVMAN (NW 4.x)
Vol_info can also produce summaries of space usage, disk block usage
and directory entries for selected volumes or all volumes on a server.
