d$! DO ZWHO !!Used mainly by System Manager $! Generates new WHO program from SYSUAF.LIS ,$! $! This uses the latest SYSUAF.LIS to generate a complete list $! of all the users whot accounts. It then edits the SCI_EXE:WHO.FOR X$! file to create a WHOSCI.FOR that contains these users, and then $! does the right thing to compile, link, and install this new who $! program. $! $! NOTE.. this can be executed only by a user who can INSTALL the WHO L$! program. $! $! end.of.info x$ $ WRITE SYS$OUTPUT "WHOSCI.TEM << SYSUAF.LIS + SCI_EXE:WHO.FOR" @$ $ OPEN/READ FILE [SYSEXE]SYSUAF.LIS $ OPEN/WRITE RES WHOSCI.TEM l$ READ FILE LINE $ READ FILE LINE 4$ $ IUS = 1 $ IUI = 1 ` $ IUIP = 2 $ ( $ ON ERROR THEN GOTO FINI $AGN: $ read/end=FINI FILE LINE T $ GROU = 'F$EXTRACT(38,3,LINE) $ MEMB = 'F$EXTRACT(42,3,LINE)  $ USER := 'F$EXTRACT(23,12,LINE) $ ACCT := 'F$EXTRACT(48,8,LINE) $ OWNE := 'F$EXTRACT(1,20,LINE) H $ $ WRITE RES " DATA UIC(",IUI,")/""",GROU,"/, UIC(",-  IUIP,")/""",MEMB,"/" t$ WRITE RES " DATA USER(",IUS,")/","'",USER,"'/" $ WRITE RES " DATA ACCT(",IUS,")/","'",ACCT,"'/" <$ WRITE RES " DATA OWNE(",IUS,")/","'",OWNE,"'/" $ IUS = IUS+1 $ IUI = IUI+2 h$ IUIP = IUIP+2 $ GOTO AGN 0$ $FINI: $ CLOSE RES \$ CLOSE FILE $ $$ WRITE SYS$OUTPUT "Update WHOSCI.FOR with user list" $ $ COPY SCI_EXE:WHO.FOR WHOSCI.FOR P$ EDIT WHOSCI.FOR C1600=WHOSCI.TEM ET |$ WRITE SYS$OUTPUT "FOR, LINK, COPY, INSTALL WHO" $ D$ FOR WHOSCI $ DO LINK WHOSCI $ COPY WHOSCI.EXE [SYSEXE]WHO.EXE p$ RUN [SYSEXE]INSTALL WHO/DEL 8WHO/PRIV=(GROUP,WORLD) $ delete WHOSCI.*;* $ purge [sysexe]WHO.exe d$ $EXI: