• 締切済み

JP1からvbs(PSExec)が起動できない

突然失礼します。 以下のサーバーAにあるvbsを、JP1から起動しようとしていますが、うまく起動しないので、もし原因が分かる方がいたら、ご教授願いたいです。 起動しようとしているサーバーAの「test.vbs」は、簡単に言うと、PsExecを利用して、サーバーBの「hoge.bat」を実行する内容です。 ***test.vbs*** Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "PsExec.exe サーバーBIPアドレス -u 実行ユーザ -p 実行ユーザーパスワード cmd" WshShell.AppActivate "cmd " WScript.Sleep 3000 WshShell.SendKeys "cd C:\" WshShell.SendKeys "{enter}" WshShell.SendKeys "hoge.bat" WshShell.SendKeys "{enter}" WScript.Sleep 10000 WshShell.AppActivate "cmd" WshShell.SendKeys "exit" WshShell.SendKeys "{enter}" ************************ 上記バッチを手動で実行するとうまくいくのですが、 JP1で起動しようとすると、うまくいきません。 そもそもPsExecが実行出来ていないかも。。。。 宜しくお願いします。

みんなの回答

  • Siegrune
  • ベストアンサー率35% (316/895)
回答No.4

◆Aサーバー(サーバーBの「hoge.bat」を実行するvbsが存在するサーバー)  Windows Server 2003 R2 Enterprise Edition ServicePack2 ◆Bサーバー(hoge.bat実行環境)  Windows Server 2008 R2 Enterprise ◆JP1インストールサーバー  Windows Server 2003 R2 ※詳細不明  とのことなので、まず、JP1の環境の問題かバッチの問題かは切り分けされましたか? 上記の環境なら、JP1インストールサーバーにJP1 Manager(だったかな?)が入っていて、 BサーバーにJP1 Agent(だったかな?)が入っていて、ManagerとAgentを接続する設定が 正しくされていないとJP1インストールサーバーから、Bサーバーに実行指示ができなかったのでは? (JP1の設定を行うクライアントは関係なくってどのPCでもいいですが) まず、この点に問題がないことを確認するために hoge.batで、echo TEST >C:\temp\test.log とかを書いて実行し、c:\tempの中にできたtest.logをみてみるといいでしょう。 (できていないとかなら、JP1の環境の問題。 ただし、c:\tempに書き込みできるユーザーで実行されているかどうかは確認する 必要がありますが。・・・たしかJP1ではどのユーザーで実行するか設定があったはず。) 問題なければ、JP1の設定でどのユーザーで、Bサーバー上で処理を行う設定にしているかを確かめ そのユーザーでログインして、hoge.batを実行してみる。 エラーがでるなら、そのユーザーにはAサーバーでバッチ処理を実行する権限がないのでしょう。 エラーがでないなら、たぶん、動くはずなんだけれど、PATHとかJP1の設定で変更できたような 気がしますのでそこを確かめてみればいいと思います。

  • luka3
  • ベストアンサー率72% (424/583)
回答No.3

環境についてはわかりましたが、JP1インストールサーバーからどうやってAサーバーでプログラムを実行できるのかがよくわかりません。 JP1を利用中のユーザか日立のサポートに助言を求めた方がよろしいですね。 お役に立てずすみませんでした。

noname#159677
質問者

お礼

早急の回答ありがとうございます。 >お役に立てずすみませんでした。 ⇒とんでもありません。こちらこそお手数おかけしてすみませんでした。 また宜しくお願い致します。

  • luka3
  • ベストアンサー率72% (424/583)
回答No.2

サーバーAのWindowsOSにJP1がインストールされているのだと勝手に解釈していましたがあってますか? この場合、どちらも、サーバーAでの設定になります。 ご質問の際はできれば動作環境を教えていただけると答える側としてはとても助かります。

noname#159677
質問者

お礼

早急な回答して頂けたにも関わらず、返信が遅くなってしまい、失礼しました。 >サーバーAのWindowsOSにJP1がインストールされているのだと勝手に解釈していましたがあってますか? >この場合、どちらも、サーバーAでの設定になります。 ⇒すみません。説明不足でした。JP1がインストールされているサーバーと、サーバーAは異なります。 ◆Aサーバー(サーバーBの「hoge.bat」を実行するvbsが存在するサーバー)  Windows Server 2003 R2 Enterprise Edition ServicePack2 ◆Bサーバー(hoge.bat実行環境)  Windows Server 2008 R2 Enterprise ◆JP1インストールサーバー  Windows Server 2003 R2 ※詳細不明  >「デスクトップとの対話をサービスに許可」をチェックします。 何度も申し訳ありませんが、これはJP1のサービスの設定の認識であっていますでしょうか?

  • luka3
  • ベストアンサー率72% (424/583)
回答No.1

JP1がよくわからなくて、検索して最初に出てくる「日立製ミドルウェア」であってますか? これはたぶんサービスとして動いているものではないでしょうか。 説明は省略しますが、サービスからは対話型のGUIやCUIのプログラムを実行できません。 ではどうするか、ですが、最初に試して欲しいのは、サービスのログオンタブにある、 「デスクトップとの対話をサービスに許可」をチェックします。 これでダメな場合、タスクスケジューラを利用する方法はどうでしょう。 私がつい先日回答したこちらを参考にしてみてください。 http://okwave.jp/qa/q7634837.html サーバAがログイン画面のまま(誰もログインしてない状態)だと、動かないかもしれません。

noname#159677
質問者

補足

>luka3さん 早急に回答頂き、ありがとうございます。 >JP1がよくわからなくて、検索して最初に出てくる「日立製ミドルウェア」であってますか? ⇒あってます。 >ではどうするか、ですが、最初に試して欲しいのは、サービスのログオンタブにある、 >「デスクトップとの対話をサービスに許可」をチェックします。 ⇒ほんとに素人ですみません。これを設定するのは、JP1から実行するバッチがあるサーバーで設定を行うという理解であっていますでしょうか? 済みませんが、引続き宜しくお願い致します。

関連するQ&A