Matlabはユーザごとのライセンスなので、前記の方法ですと自分のアカウントでインストールされたマシンでないとローカルでMatlabを起動できません。
そこで、一度実行したいユーザのアカウントでMatlabの実行をライセンスされたアカウントにパスして行うトリックを思いつきました。

いわゆる、Windows標準のタスク(スケジューラがあるやつ)として登録して、実行ユーザを指定して保存しておけば、そのタスクを起動するのは誰でもよいです。

以下にバッチファイルの内容を示します。


copy \\hpc\matlabcommandsweep.bat c:\
echo matlabcommandsweep %1 %2 %3 %4 > c:\temp.bat
schtasks /run /tn MatlabSweep


このバッチを呼ぶと、まずサーバに用意したバッチファイルをCドライブ直下にコピー、そしてそのバッチに引数を渡すためにもう一つのバッチファイルを生成、そしてタスクスケジューラの当該タスクを起動します。
タスクは単にtemp.batを呼ぶだけでOKです。
タスクは引数を取らないので、タスクごとに引数を伝搬させるトリックとなります。

ただ、これだと、スケジューラが非同期実行なので、HPC Server側からのタスクスケジューリングがうまくいかないんですよね。
タスクスケジューラのタスクを使っているのに、HPC Serverのタスクスケジューラとはうまく連携しないですね(わけがわからなくなってきた)