If you change the batch script to use PSExec (from Sysinternals) instead of "Run As", you can embed the password in the script instead of requiring a teacher to enter it. I use encoded vbscript for this purpose.
'**Start Encode**
Const SET_PRIVELEGE_CMD = "%comspec% /c psexec -i -u User -p Password "
Set objWShell = CreateObject ("WScript.shell")
objWShell.run SET_PRIVELEGE_CMD & "c:\MyApplication.exe"
To encode a vbscript file you need to place the "Start Encode" text as a comment in the script before any of the code, and also download and install sce10en.exe from Microsoft. Once those are done, open a command prompt, and navigate to the folder the encoding software is installed.
Usage: screnc [/?] [/s] [/f] [/xl] [/l ScriptLanguage] [/e DefaultExtension]
<source> <destination>
Encode embedded script.
/? - Help
/s - Silent: display no messages
/f - Force: allow file(s) overwrite (source == destination)
/xl - Exclude Language: does not add the language directive in asp files
/l ScriptLanguage -
Script Default Language: specify the default script language to be
used when encoding
/e DefaultExtension -
Default Extension: override actual file extension. Control the
encoder to be loaded.
<source>
The file to encode. It can have wildcard characters.
<destination>
The destination file. When <source> contains wildcard characters,
<destination> is the directory where to place the encoded
files; files will keep the same name. When <source> and
<destination> are the same /f must be used.
Example:
C:\Program Files\Windows Script Encoder>screnc C:\temp\MyScript.vbs C:\temp\MyScript.vbe
Note that this is encoding not encrypting. Someone who knows what they are doing can easily decode the script to get the password making this solution unusable in some settings.