I'm not sure about script -s (Don't have the -s flag on AIX or Solaris - what flavor of unix are you using?) but I do know that capturing the output from the HISTFILE variable (that's if it's even set to begin with) won't always work because the user can change the value of the variable if he didn't want his commands logged (ie. redirect to /dev/null or even some other variable). The other factor is the HISTSIZE variable can also be set/changed by the user and potentially could be set to 0 (hence, no logging of commands). This is so, even if the variables are set in the users .profile or in /etc/profile.
The only true, surefire way that I can see to do this is to dive into writing a shell wrapper that will grab input as it is typed by the user. I'm sure there are other, more efficient ways of handling this though.
Regards,
Chuck