  Captive users, DCL and SET PASSWORD? 
 The Question is:
 
Dear Wizard
 
I'm sure I've seen the answer to this question on your site before, but I can't
 for the life of me find it. On the other hand, I may have imagined it, which
 is happening with frightening regularity at the moment.
 
Anyway, I want to call the SET PASSWORD command from a captive command
 procedure (DCL menu). When I run the DCL, it just gives me the prompt back
 without appearing to do anything.
 
What's up? Is there a way to do this?
 
Many thanks.
 
 
 
 
 The Answer is :
 
  It appears SYS$INPUT was not redirected to the terminal.
 
  For I/O redirection and related information, please see topics
  including (1569), (1696), (2335), (3160), (4520), (5753), (6534),
  (7356), (7826), (8749), (8967) and likely other topics.  Also
  please see the OpenVMS User's Guide and available books on DCL
  Programming.
 
  To execute any command within a command procedure and have the
  input read from the interactive user and not from the next record
  in the input file, you must redirect SYS$INPUT to SYS$COMMAND.
 
  For example:
 
    $ DEFINE/USER SYS$INPUT SYS$COMMAND
    $ SET PASSWORD
 
  The /USER means the logical name definition is temporary and will
  remain only until the next image exit occurs.
 
  You could also provide your own tool to reset the password using the
  sys$getuai, sys$hash_password and sys$setuai calls, or -- since the
  user is captive -- you could also use AUTHORIZE commands directly.
 
  Related topics include (1461), (1475), (1645), (2751), (2938),
  (3233), (3883), (5258), (5508), (5782), (6328), (8753), (9034),
  and others.  General password discussions are included in various
  topics, including particularly (4612).
 
 Answer written or last revised on  24-NOV-2003 
