プログラムの呼び出し方と実行ユーザについての注意

フォローする

恐らくWindowsの仕様かと思われますが、プログラムを多段階経由して実行する場合、直接呼び出したプログラムに関しては実行元プログラムの起動ユーザが引き継がれますが、更にその先にあるプログラムについてはシステムユーザにて処理が実行されてしまうため、ユーザを判別するプログラムを実行する際には注意が必要です。

Case1: BizRobo!からVBScript 経由で マクロを実行する場合。

BizRobo! から呼び出された VBScriptについては、BizRobo!と同じユーザの処理として起動されますが、更にその先にあるマクロには起動ユーザが引き継がれないため、システムユーザとしてプログラムが走ります。
マクロのなかで特定のユーザのみアクセス権のあるフォルダ等へのアクセスを行っている場合、システムユーザにはアクセス権が付与されていないため、エラーが発生します。

Case2: JP1やTivoli等の統合運用監視ツールからバッチプログラム経由でRoboServer(+MC)を起動する場合。

統合運用監視ツールから実行されるバッチプログラムについては、統合運用監視ツールと同じユーザとして起動されますが、更にその先にあるRoboServer(+MC)には起動ユーザが引き継がれないため、システムユーザとしてプログラムが走ります。
起動ユーザ自体を調べると想定どおり統合監視ツールと同じ名前のユーザが表示されるのものの、実際に呼び出されたRoboServer(+MC)が読み込みに行くユーザ領域はインストール設定情報の存在しないWindowsフォルダの配下(下図参照)であり、当然インストール時に設定するライセンス情報等も見つけられないため、RoboServer(+MC)起動後に再度ライセンスの入力を求められることになります。

InvokeUser.png

0人中0人がこの記事が役に立ったと言っています

コメント

0件のコメント

ログインしてコメントを残してください。