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.