re:Member Data Services, Inc. Fall 1989 DECUS Submissions Neither myself nor re:Member Data Services accepts any responsibility for the use or reliability of these submissions. They may not be sold for profit, but may be distributed freely otherwise. Enjoy! Harry Flowers re:Member Data Services, Inc. 1780 Moriah Woods Blvd. #6 Memphis, TN 38117 Contents: AAAREADME.TXT - This submission documentation file System management utilities: DISK_WATCHER.COM - Command file to run detached and monitor available disk space on all disk drives. You set red and yellow alert levels, the interval to wait between checks, and who to notify and what action to take, if any. CHKFRAG.COM - Check fragmentation for a specific file. CHKPAS.COM - Check passwords for user accounts. Requires you to restore VMS$SECUREPWD.EXE from a VMS distribution (VMS050.A has one). KILLER.COM - An early version of a command-file driven idle process killer. Not throughally tested. I want to change the PID to the INDEX to reduce the number of symbols defined over time. But, it's a place to start if someone else wants to tackle it. OPENFILES.COM - Check all open files on a system. General utilities: MENU.COM - DCL menu system; understands captive accounts, should work with new VMS V5.2 restrictions without further modification. See beginning of command procedure for directions. Probably the closest thing to a general user production DCL program I have written. A modification history and documentation may be found at the end of the procedure. o One-file menu - the command file is the only one which is needed. It is very easy to modify the menu options for anyone with a basic knowledge of DCL command procedures. There is a small amount of error checking for consistent menu setup (for descriptions). o Arbitrary DCL commands - any non-captive user may issue arbitrary DCL commands from the command line. This can happen in one of two ways: 1) Precede the command by an "@", or 2) Enter an "@" and be prompted for the DCL command. One advantage of method #2 is that INQUIRE is used instead of READ, so the full command recall handling is available. o Automatic logout - users are logged out after 45 minutes of inactivity. The READ used has a 3 minute timeout. When the timeout occurs, the time on the menu is updated as well as the timeout counter. After 15 timeouts (45 minutes), the process is logged out unless it has a subprocess which might be active. NOTE: Broadcast messages seem to re-start the time for the read timeout (VMS V4.7). This would extend the time a process would wait before automatically logging out. o Captive account handling - captive accounts are handled specially. In particular, exiting the menu always logs out a captive account. Also, captive accounts are not allowed to issue arbitrary DCL commands with the "@" on the command line. A captive account is one authorized with the Captive flag set in the user authorization file (with AUTHORIZE). It is assumed that Ctrl/Y has been disabled for captive accounts, and that they have not been allowed to get to the VMS prompt. Normally, the menu would be called directly from the account's login command procedure. o Error message display - if a fatal error occurs during the execution of an option, the menu waits for a carriage return allowing the user to see the error. It is also displayed below the input line on the menu screen. o Scrolling region for broadcast messages - while the menu is on the screen, the scrolling region is re-defined to be after the last line of options. This causes broadcast messages to scroll in this window and not mess up the menu display. o "Self" customized - the second line of the display is whatever the system manager has defined for SYS$ANNOUNCE, the announcement message a user gets before the "Username:" prompt when logging in. This will generally have the name of the installation, and in a VAXcluster environment, the system node name as well. This can easily be changed by defining a process logical SYS$ANNOUNCE (which will not effect the system definition used at login) if you are unhappy with the contents of SYS$ANNOUNCE. For example: $ DEFINE SYS$ANNOUNCE "My Own Computer" CVTHLPTEX.COM - Help convert HLP files to TEX files for LaTeX. CVTTXTTEX.COM - Help convert TXT files to TEX files for LaTeX.