NOVELL TECHNICAL INFORMATION DOCUMENT TITLE: Tools for a NetWare Server v1.09d README FOR: TBOX7.EXE NOVELL PRODUCTS and VERSIONS: NetWare 3.11 NetWare 3.12 NetWare 4.1 NetWare 4.11 intraNetWare ABSTRACT: TOOLBOX.NLM version 1.09d (NetWare v3.12 and NetWare v4.x) TOOLBOX.NLM provides various utility functions to be executed on the server console or via NCF files (without involving any clients). NOTE: This utility helps system administrators. It is provided free of charge as a courtesy, and therefore, is not a Novell supported product. Problems or questions regarding this product can be reported via e-mail to NTSUTIL@NOVELL.COM. ----------------------------------------------------------------- DISCLAIMER THE ORIGIN OF THIS INFORMATION MAY BE INTERNAL OR EXTERNAL TO NOVELL. NOVELL MAKES ALL REASONABLE EFFORTS TO VERIFY THIS INFORMATION. HOWEVER, THE INFORMATION PROVIDED IN THIS DOCUMENT IS FOR YOUR INFORMATION ONLY. NOVELL MAKES NO EXPLICIT OR IMPLIED CLAIMS TO THE VALIDITY OF THIS INFORMATION. ----------------------------------------------------------------- ISSUE: TOOLBOX.NLM version 1.9d (NetWare v3.12, v4.x, and NetWare 5) Copyright (C) 1997,1998 Novell, Inc. All Rights Reserved NOTE: This is a legacy version of TOOLBOX designed for older NetWare versions (3.x and 4.10). See ABSTRACT for information on an enhanced version of TOOLBOX - v2.x for current 4.x and 5. ________________________________________ CONTENTS ________________________________________ I. Abstract II. Installation Instructions III. Usage IV. Product Description V. Enhancements/Bug Fixes VI. Known Issues VII. Frequently Asked Questions ________________________________________ I. ABSTRACT ________________________________________ TOOLBOX.NLM provides various utility functions to be executed on the server console or via NCF files (without involving any clients). PLEASE READ: Toolbox 1.9d is a backward compatible version of TOOLBOX that will load on NetWare 3.x (with LIB312A applied), NetWare 4.10 (with LIBUPE or later), and stock NetWare 4.11 and greater servers. It will continue to be available because of backward compatibility, however enhancements will be limited. Toolbox 2.x is the next generation toolbox that will only load on NetWare 4.11 with support pack 5 and greater, and NetWare 5. It has many enhanced features that could not be placed in this version because of the lack of library support. If you are running NetWare 4.11 and greater servers, you would be well served to get Toolbox v2.x. New Toolbox v2.x features include: Flag (attribute utility) Multi-tree authentication Connection management Remote NLM loading and unloading Java and Applet execution helper Long name space support (4.11 w/ support pack 6, and NetWare 5) Hex/Decimal/Binary conversion utilities NOTE: This utility helps system administrators. It is provided free of charge as a courtesy, and therefore, is not a Novell supported product. Problems or questions regarding this product can be reported via e-mail to NTSUTIL@NOVELL.COM. ________________________________________ II. INSTALLATION INSTRUCTIONS ________________________________________ Copy TOOLBOX.NLM to the SYS:\SYSTEM directory on your server. NOTE: 3.x servers require CLIB from LIB312A to be loaded. 4.10 servers require Modular CLIB from LIBUPE or later. If the above requirements are not met, Toolbox may not be able to load because of unresolved symbols. ________________________________________ III. USAGE ________________________________________ Loading: load TOOLBOX After loading, general help can be obtained with the console command: TOOLBOX A command listing is done with the command: TOOLS For help on the commands provided by Toolbox, type: ? or /? ________________________________________ IV. PRODUCT DESCRIPTION ________________________________________ TOOLBOX is a collection of utilities that can be used at the server console, or executed from NCF files. All utilities, except where specified, allow operations on the local DOS partition, the local server's Volumes, and remote server's Volumes. The utilities provided by Toolbox are: Authset - Set username and password for easy authentication Beep - Ring the bell Chdir(c,pwd)- Change or View Current Directory Copy (cp) - Copy utility Del (rm) - Delete utility (not supported on 3.x DOS Partitions) Delay - Delay command Dir (ls) - Directory utility Echo - Echo message to the console Mkdir (md) - Make Directory utility Move (mv) - Move utility (not supported on 3.x DOS Partitions) Purge - Purge deleted files Rmdir (rd) - Remove Directory utility Shutdown - Shutdown and restart server Startup - Edit the startup file Toolbox - General help screen for Toolbox Tools - Display list of available tools Type (cat) - View text files on the screen Authset SYNTAX: authset Username Password Username = User object for authen. to NDS or remote server(s) Password = Password for above user (Enter * to be prompted) Description: - Username and Password are only used by TOOLBOX utilities when when authentication is required but no Username and Password was specified for the command - Once they are set, their values may not be viewed - If Username has no password, specify "" - To unset their values, use "" (ie. authset "" "") EXAMPLE: authset admin homer After being set, if a utility was executed that required authentication to a remote server, and you didn't specify a Username and Password on the command line for that utility, then the username and password specified above would be used. Beep SYNTAX: beep Description: - Rings the bell on the console Chdir SYNTAX: chdir [Path] c pwd Path = [servername/]VolOrDrive:[path] = ..[/][...] = /path Description: - When set, "Path" will be prepended to all filespec and path arguments that do not include a colon - chdir or pwd with no parameters will display the current path - Set the path (default of SYS:) by doing: chdir "" - Any number of dots can be used to go back n - 1 directories - To use the existing volume or drive, preface new path with / Known Issues: - The commonly known command "cd" cannot be used because of conflicts with the CDROM.NLM "cd" command. If on 4.11 you can use the alias command if cdrom.nlm is not used - No checking is done to assure that the path specified is valid. - Supports only DOS name space EXAMPLES: chdir sys: chdir sys:public/nls chdir /system/nmx Use the current drive or volume and append /system/nmx chdir c:\nwserver chdir .. Move back one directory from the current chdir ../../public Move back two directories from the current and into public chdir .... Move back three directories from the current (n-1) Copy SYNTAX: copy SourceSpec [DestPath] [Username Password] [options] move (same as: copy /ms) cp (same as: copy) mv (same as: move) SourceSpec = [servername/]VolOrDrive:path/filespec DestPath = [servername/]VolOrDrive:path[/file] Username = User object for authen. to NDS or remote server(s) Password = Password for above user (Enter * to be prompted) Options = preface option(s) with '-' or '/' (ie. -bsa) a - do not copy DOS & NetWare Attributes b - force Bindery authentication only d - copy Empty subdirectories e - do not remove Empty dirs during a move l - Log activity summary to the file: TBOX$ACT.LOG in the destination directory m - Move file/dirs (delete original after copy) r - overwrite Read-only files (on NetWare partitions) s - delete filespec in current and all subdirs and will removeany empty subdirectories when completed v - Verbose mode q - Quiet mode Features: - NDS and Bindery authentication (see Limitations) - Works with DOS partition on local server - Keeps activity log for auditing purposes - Interrupt copy with Ctl-C Limitations/Known Issues: - For NDS, it will only authenticate to the local tree - Will only copy between two remote servers if: * both are in the same local tree * both are bindery connections with the same username/password. NDS and bindery authentication cannot be used concurrently - Supports only DOS name space - No wildcards are allowed in destination filespec - Trustees and extended attributes are not copied - Files copied to the DOS partition will not preserve dates & attribs - The Move feature is not supported from 3.x DOS Partitions - The activity log feature is not supported when copying to 3.x DOS Partitions - Overwrite Read-only files is not supported on any DOS Partitions - Max recursive depth for subdirectory copies is 15 - DestPath may only be omitted if both are true below: * No username and password are specified * A current directory is set with CHDIR - Empty subdirs are always copied from the DOS partition. Warnings: - If the destination file exists, it will be overwritten without warning. EXAMPLES: copy c:\nwserver\startup.ncf sys:ncfs/ Copy startup.ncf from C: to the sys volume, ncfs directory. The ncfs directory will be created if it doesn't exist. copy homer/sys:public/*.ini a: admin marge Copy all .ini files from server homer to the local floppy. copy homer/vol1:*.tmp lisa/vol2: /m Move all tmp files from homer vol1 root to lisa vol2. For this to work, authset must contain valid data so authentication can be accomplished. copy sys:backup vol1:backup /sl Copy all files and directories from the sys:backup directory to vol1:backup. Also create/update the activity log in the destination directory. copy a:*.nlm sys:system /r Copy all NLMs from the A: drive to sys:system, overwriting all files, regardless of their read-only flag. copy sys:system/*.nlm sys:backnlm /a Copy all NLMs from sys:system to the backnlm directory with no attributes being copied. Del SYNTAX: del [FileSpec] [Username Password] [options] rm FileSpec = [servername/]VolOrDrive:path[/filespec] Username = User object for authen. to NDS or remote server(s) Password = Password for above user (Enter * to be prompted) Options = preface option(s) with '-' or '/' (ie. -bsa) b - force Bindery authentication only e - will not remove Empty subdirectories (used with /s) s - delete filespec in current and all subdirs and remove any empty subdirectories when completed q - Quiet mode v - Verbose mode y - Suppress delete confirmation Description: - Deletes the files specified with filespec - If a directory is specified, all files in it will be removed - If a directory is specified with the /s option, it will be removed as well as all files and subdirs beneath it unless /e is used Features: - NDS and Bindery authentication (see Limitations) - Works with DOS partition on local server Limitations/Known Issues: - This utility is not supported on 3.x DOS Partitions - Supports only DOS name space - For NDS, it will only authenticate to the local tree - Max recursive depth for /s option is 15 - Cannot delete Read-only files from DOS Partitions EXAMPLES: del betty/vol1:testdir /s Delete the testdir directory and all its children on server betty, vol1. For this to work, authset must contain valid data so authentication can be accomplished. del c:\*.log Delete all log files in the local C drive (This will not work on 3.x DOS Partitions) Delay SYNTAX: delay [mseconds] mseconds = number of milliseconds to delay Description: - To hold the command prompt from executing any other commands to a specified delay time - Useful in NCF files to pseudo-synchronize command - If mseconds is not specified, delay the default of 1000ms (1 sec) Dir SYNTAX: dir [FileSpec] [Username Password] [options] ls FileSpec = [servername/]VolOrDrive:[path/filespec] Username = User object for authen. to NDS or remote server(s) Password = Password for above user (Enter * to be prompted) Options = preface option(s) with '-' or '/' (ie. -bsa) b - force Bindery authentication only c - Continuous listing d - list Directories only s - search Subdirectories for filespec t - list Totals only v - Verbose mode w - Wide listing Description: - If no filespec is specified, a directory of the path specified by Chdir is listed. Chdir path is set to the root of SYS: by default. Features: - NDS and Bindery authentication (see Limitations) - Works with DOS partition on local server Limitations/Known Issues: - For NDS, it will only authenticate to the local tree - Supports only DOS name space - Will not report available space on the DOS partition - When NDS authentication is used, free volume space is not reported because of a CLIB bug - Max recursive depth for subdirectory listings is 15 EXAMPLES: dir vol1:*.log /s Find all .log files on vol1 dir homer/sys:*.* admin marge /ts Display the number of files, dirs and space used on server homer, volume sys. dir c: /d List all directories on the root of drive C: dir List all files and directories on the current directory. See chdir. Echo SYNTAX: echo [["]string["]] string = Any string to echo to the console Quotes are optional. Mkdir (md) SYNTAX: mkdir Directory [Username Password] [options] md Directory = [servername/]VolOrDrive:path Username = User object for authen. to NDS or remote server(s) Password = Password for above user (Enter * to be prompted) Options = preface option(s) with '-' or '/' (ie. -bv) b - force Bindery authentication only v - Verbose mode q - Quiet mode Features: - NDS and Bindery authentication to remote servers - Will create all non-existant directories in the path Limitations: - For NDS, it will only authenticate to the local tree - Supports only DOS name space EXAMPLES: mkdir c:\my\dog/has/fleas Create all directories in the path that don't exist md homer/vol1:mybackup/files admin marge Move SYNTAX: move is an alias for copy /ms mv The detailed syntax for Move is the same as Copy. EXAMPLES: move sys:dir1 vol1:dir2 Move dir1 from sys to dir2 on vol1 If dir2 already exists, dir1 will be placed as a child under dir2. move c:\*.bak homer/vol1:mycback admin marge Move all .bak files from the root of C drive to mycback directory on homer vol1. This will not work on 3.x dos partitions. Purge SYNTAX: purge [Path] [Username Password] [options] Path = [servername/]Volume:[path[/filespec]] Username = User object for authen. to NDS or remote server(s) Password = Password for above user (Enter * to be prompted) Options = preface option(s) with '-' or '/' (ie. -bsa) a - purge files in directory and all subdirs b - force Bindery authentication only d=nn - don't purge files deleted less than nn days q - Quiet mode v - Verbose mode Description: - Purges (permanently removes) all deleted files in Path - If Path is omitted, all files in the current directory from Chdir are purged Features: - NDS and Bindery authentication (see Limitations) Limitations/Known Issues: - For NDS, it will only authenticate to the local tree - Only DOS name space names are supported - Max recursive depth for /a option is 15 - Supports only DOS name space Warnings: - Files are purged without warning EXAMPLES: purge sys: Purge all files at the root of sys purge sys:system /a Purge all files in sys:system and all dirs below purge sys:*.tmp /a Purge all .tmp files on the sys volume purge sys:*.log /d=30 /a Purge all .log files on the sys volume that have been deleted 30 or more days ago Rmdir (rd) SYNTAX: rmdir Directory [Username Password] [options] rd Directory = [servername/]VolOrDrive:path Username = User object for authen. to NDS or remote server(s) Password = Password for above user (Enter * to be prompted) Options = preface option(s) with '-' or '/' (ie. -bv) b - force Bindery authentication only v - Verbose mode q - Quiet mode Features: - NDS and Bindery authentication to remote servers Limitations: - For NDS, it will only authenticate to the local tree - Supports only DOS name space - Will only remove the directory if it is empty. See "DEL /S" EXAMPLES: rmdir c:\junk\myjunk rmdir homer/vol1:pback/may29 ShutDown SYNTAX: ShutDown [options] Options = preface option(s) with '-' or '/' (ie. -bsa) f - Force Server Down even if there are open files. r - Restart the server after it is downed (not supported on 3.x) Description: - ShutDown allows you to force the server DOWN, even if files are open, without having to be at the console to confirm it. - If the Force option is not specified and files are open, ShutDown will print an error and return to the prompt. Startup SYNTAX: startup Description: - Edits the startup file which is executed when toolbox loads - Only certain commands are valid for the startup file, execute the TOOLS command for that list. If an invalid command is placed in the file, Toolbox will report the error upon startup. - Load TOOLBOX with the /NS switch to not execute the startup file - Comments for the startup file include: # ; REM - This documentation is also found in the startup file itself Toolbox SYNTAX: toolbox [?][/?] Displays the main toolbox help screen. EXAMPLE: toolbox Tools SYNTAX: tools [?][/?] Displays the command list screen. EXAMPLE: tools Type SYNTAX: type FileSpec [Username Password] [options] cat FileSpec = [servername/]VolOrDrive:path/filespec Username = User object for authen. to NDS or remote server(s) Password = Password for above user (Enter * to be prompted) Options = preface option(s) with '-' or '/' (ie. -bsa) b - force Bindery authentication only c - Continuous display Description: - View the contents of text files on the screen Features: - NDS and Bindery authentication (see Limitations) - Accepts wildcards for viewing multiple files - Works with DOS partition on local server Limitations/Known Issues: - For NDS, it will only authenticate to the local tree - Only DOS name space names are supported EXAMPLES: type homer/sys:system/autoexec.ncf admin marge type sys:system/*.ncf ________________________________________ V. ENHANCEMENTS/BUG FIXES ________________________________________ Enhancements from version 1.1 - Added Beep, Delay, Echo, Purge and a Startup file - Enhanced the error messages from authentication failures Bug Fixes from version 1.1 - Fixed a 3.x Abend when CONLOG was loaded. - Resolved display issues on 3.x with DIR Enhancements from version 1.4 - Removed some unimportant status messages - Updated some help screens for more clarity Bug Fixes from version 1.5 - Supposedly corrected a build problem that caused the PURGE command to abend the server. Bug Fixes from version 1.6 - Finally found the real problem that caused an abend with PURGE in both 1.5 and 1.6. I can finally sleep tonight! - Fixed a bug that hung the console when typing a CTL-C at the TYPE screen. Enhancements from version 1.7 - Enter key can be used to continue scrolling in DIR Bug Fixes from version 1.7a - Resolved UnLockDirectoryEntry abend with PURGE Enhancements from version 1.7b - Purge now accepts wildcards Enhancements from version 1.7d - Added /d=xx switch to PURGE, to not Purge files deleted less than xx days ago. - Added Unix-like aliases - Added ShutDown command Bug Fixes from 1.08a - Will no longer abort entire directory copy if read or write errors occur on a file - DIR will now display sizes over 2GB correctly Enhancements from version 1.08b - Removed BETA status Enhancements from version 1.08d - Added interactive password prompting with the * option - Added confirmation for DEL command when deleting multiple files - Added color Bug Fixes from 1.09 - Prevent abends when certain OS symbols are not found - COPY sometimes could not set destination file attributes when NDS Authenticated. - Can now specify a leading / or \ in a path and have it work correctly in all commands. - Copy and Del will now correctly interpret filespecs in subdirectories as they did in the current directory. Enhancements from version 1.09 - Added alias C to CHDIR for easier navigation - Improved CHDIR functionality by allowing multiple dots and the ../../ syntax. - Removed reliance on newer CLIB on 4.11 so new installations will be able to load Toolbox. - DIR and TYPE now accept Esc key to quit - COPY has new switch to copy empty subdirectories (/d) - DEL switch /e to not delete empty subdirectories - MOVE switch /e to not delete empty subdirectories Bugs fixed from verson 1.09c - Cyclical copy/move bug has been fixed - Files with % in their names will no longer abend server when listed or copied. ________________________________________ VI. KNOWN ISSUES ________________________________________ General Issues: NOTE: 3.x servers require CLIB from LIB312A to be loaded. 4.10 servers require Modular CLIB from LIBUPE or later. If the above requirements are not met, Toolbox may not be able to load because of unresolved symbols. Issue 1: Only supports DOS name space. Investigation into support of long names surfaced many bugs and limitations in the current API that made Long name support unfeasible. Issue 2: Cannot access DOS partitions on remote servers. Issue 3: NDS authentication can be done on the local tree only. Issue 4: Max recursive depth for /s options is 15 Issue 5: When accessing the floppy drive on 3.12 or 4.10 without the new modular CLIB, the floppy light will stay on. To turn it off, at the console type: "a:" It will report that it's an Unknown Command, but the light will turn off. This is a not toolbox problem but a CLIB problem that was fixed in modular CLIB that unfortunately cannot be loaded on 3.12. Issue 6: IMPORTANT FOR 3.12 SERVERS. If TOOLBOX is loaded in the AUTOEXEC.NCF it may abend the server when any command is issued. It is a timing issue during the Load when some pointers to CLIB routines are not properly set. Some have reported that if they are loading many things in the AUTOEXEC, they can load toolbox at the end and make it work, but it's a gamble. This issue is being investigated. Authset: None: Beep: None: Chdir (pwd): Issue 1: Does not check for existence of directory when being set. Copy (cp): Issue 1: If files already exist in the Destination path, they will be overwritten without warning. Issue 2: Extended attributes and trustees are not copied. Issue 3: Files copied to the DOS partition will not preserve dates and attributes. Issue 4: Move feature not supported on 3.x DOS Partitions Issue 5: Activity log not supported when copying to 3.x DOS Partitions Issue 6: Will only copy between two remote servers if: * both are in the same local tree * both are bindery connections with the same username/password. NDS and bindery authentication cannot be used concurrently Issue 7: Overwrite read-only files will not work on any DOS Partitions Del (rm): Issue 1: Does not work on 3.x Dos Partitions Issue 2: Cannot delete Read-only files from any DOS Partitions Delay: None: Dir (ls): Issue 1: Will not report available space on the DOS partition Issue 2: When NDS authentication is used, free volume space is not reported on remote servers because of a CLIB bug Echo: None: Mkdir (md): None: Move (mv): Issue 1: See issues for Copy. Issue 2: Will not work when moving from 3.x DOS Partition Issue 3: Cyclical moving is not prevented - use care when using wildcards that may include the directory you are moving files into. Purge: None: Rmdir (rd): Issue 1: Will not remove directories that are not empty Shutdown: Issue 1: Restart option will not work on 3.x Startup: None: Toolbox: None: Tools: None: Type (cat): None: ________________________________________ VII. FREQUENTLY ASKED QUESTIONS ________________________________________ Q: Can I run Toolbox commands in an NCF file? A: Yes, as long as you load TOOLBOX.NLM before executing the NCF file. If you try to load TOOLBOX.NLM in the same NCF file as toolbox commands, all commands will fail because TOOLBOX.NLM is still loading and has not yet registered the commands. We recommend that TOOLBOX.NLM be loaded in AUTOEXEC.NCF. Loading TOOLBOX in AUTOEXEC.NCF is a problem on 3.12 servers however. Some have reported that if they are loading many things in the AUTOEXEC, they can load toolbox at the end and make it work, but it's a gamble. This issue is being investigated. Do not run commands in a NCF file that require keyboard input such as Dir or Type. (As if you wanted to anyway!) Q: Why is my console command frozen when I run any toolbox command? A: All toolbox commands are single threaded and attached to the console prompt. This was done to guarantee execution order when toolbox commands were executed from NCF files. The prompt returns when the command has finished execution. Q: When I get help on a command, or use the Type command, my console prompt will not come back? A: The prompt will return when you close the Help or Type screen that is displaying output from the command. Q: My 3.12 server Abends in the AES Sleep Process, or with an Invalid Resource Tag. A: Update to the latest 3.12 CLIB libraries (LIB312.EXE) Q: I'm running on a 4.x server and I'm trying to authenticate to a 3.x server, but it says NWDSAuthenticate error 251. I'm using the right username and password for my 3.x server. A: The problem is that the username and password you are using is also valid for NDS. But when NDS attempts to authenticate you to the 3.x server, it cannot do it. You need to specify the /b switch on the command you are executing to force the authenticator to use Bindery authentication instead of NDS authentication. Q: How do I specify my NDS Username? What is my current context? A: Specify the entire distinguished name if you are having authentication problems. The authenticator's context is [Root]. For example, if my user object Bryan, were in: OU=acctg.O=novell I would specify my username as: .bryan.acctg.novell Note the leading "." which is specifying an absolute path regardless of the current context. Q: Why do I get the errors: File not Found, or Cannot create the destination file, when the files are really there? A: You will get these errors if you don't have the proper rights. Toolbox utilities do not check rights before it attempts to carry out your request, so it will return errors like those mentioned above. Q: Why doesn't Chdir allow just "cd"? A: It interferes with the "cd" command used by the cdrom nlm. So what if you don't use the cdrom nlm? Sorry, to avoid confusion it was decided to leave the command "cd" alone. If you don't have the cdrom.nlm loaded and you are on 4.11, you can use the ALIAS command to equate cd to chdir as follows: alias cd chdir Q: When I access the floppy drive on 3.x, the light won't turn off. A: This is a CLIB problem on 3.x. To turn the light off after you are done accessing the floppy drive, at the console type the following: A: The command processor will report an Unknown Command but the light will turn off. Self-Extracting File Name: TBOX7.EXE Files Included Size Date Time ..\ TBOX7.TXT (This file) TBOX7.TXT 34701 9-1-98 4:50:12 pm TOOLBOX.NLM 90852 8-20-98 5:17:34 pm Installation Instructions: See Issues Section ----------------------------------------------------------------- Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information. -----------------------------------------------------------------