PARM ACCOUNT="!HPACCOUNT", NO_PASS_ONLY="N" ## LISTPASS.XEQ - LIST ACCOUNTS AND USERS WITH PASSWORDS. ## SETTING SECOND PARAMETER TO "Y" SHOWS ONLY ## ACCOUNTS AND USERS WITHOUT PASSWORDS. ## TIM ERICSON LISTACCT !ACCOUNT; PASS > ACCTFILE SETVAR ACCT_LINE, 2 WHILE ACCT_LINE < FINFO ( "ACCTFILE", 19 ) DO PRINT ACCTFILE; START=!ACCT_LINE; END=!ACCT_LINE > LINEFILE INPUT LINE_REC < LINEFILE SETVAR THIS_ACCT, STR ( LINE_REC, 10, 8 ) SETVAR ACCT_LINE, ACCT_LINE + 2 PRINT ACCTFILE; START=!ACCT_LINE; END=!ACCT_LINE > LINEFILE INPUT LINE_REC < LINEFILE SETVAR ACCT_PASS, STR ( LINE_REC, 33, 18 ) IF ( "!NO_PASS_ONLY" = "N" ) & OR ( "!NO_PASS_ONLY" = "Y" AND "!ACCT_PASS" = "PASSWORD:" ) SETVAR ACCT_PASS, STR ( ' ', 1, 9 - & LEN ( '!THIS_ACCT' ) ) + "!ACCT_PASS" ECHO ACCOUNT: !THIS_ACCT !ACCT_PASS ENDIF SETVAR ACCT_LINE, ACCT_LINE + 11 SETJCW CIERROR, 0 CONTINUE LISTUSER @.!THIS_ACCT; PASS > USERFILE IF CIERROR = 0 SETVAR USER_LINE, 2 WHILE USER_LINE < FINFO ( "USERFILE", 19 ) DO PRINT USERFILE; START=!USER_LINE; END=!USER_LINE > LINEFILE INPUT LINE_REC < LINEFILE SETVAR THIS_USER, STR ( LINE_REC, 7, 17 ) SETVAR USER_LINE, USER_LINE + 2 PRINT USERFILE; START=!USER_LINE; END=!USER_LINE > LINEFILE INPUT LINE_REC < LINEFILE SETVAR USER_PASS, STR ( LINE_REC, 33, 18 ) IF ( "!NO_PASS_ONLY" = "N" ) & OR ( "!NO_PASS_ONLY" = "Y" AND "!USER_PASS" = "PASSWORD:" ) SETVAR USER_PASS, STR ( ' ', 1, 18 - & LEN ( '!THIS_USER' ) ) + "!USER_PASS" ECHO USER: !THIS_USER !USER_PASS ENDIF SETVAR USER_LINE, USER_LINE + 5 ENDWHILE ENDIF ENDWHILE PURGE ACCTFILE,TEMP PURGE USERFILE,TEMP PURGE LINEFILE,TEMP DELETEVAR ACCT_LINE, THIS_ACCT, ACCT_PASS DELETEVAR USER_LINE, THIS_USER, USER_PASS DELETEVAR LINE_REC