WindowsServer2003上で動作するWebアプリを開発しています。
本番機(以下、サーバと記述します)はWindowsServer2003で、
開発機はWindowsXPです。
テストをするために、サーバ上でバッチプログラムを起動する
必要があるのですが、サーバが、社内の遠いところにあり、
いちいちそこまで行ってバッチプログラムを起動するのは、
時間も手間も掛かるので避けたいと思っています。
そこで、リモートデスクトップを使おうと思ったのですが、
社内のルールで使う事ができません。
サーバは、httpsプロトコルのみ許可しており、他のプロトコルを
許可するのも出来ません。
サーバを開発ルームに持ってくることもできません。
どうにかして、サーバ上のバッチプログラムを起動したいのですが、
なにか方法はありますでしょうか?
よろしくお願いいたします。
C#は使ったことがないので不確実ですが、調べてみたところSystem.Diagnostics.ProcessクラスのStart()というメソッドが該当するのではないかと思います。
開発用にそのバッチを動かす画面を作るというのはどうでしょう。ボタンを押すとバッチを起動するみたいな簡単な画面です。
http://www.02.246.ne.jp/~torutk/javahow2/exec.html
どんな言語を使っているか質問からは読めませんが、たとえばJavaでしたらRuntime.exec()あたりを使うと可能かもしれません。
C#は使ったことがないので不確実ですが、調べてみたところSystem.Diagnostics.ProcessクラスのStart()というメソッドが該当するのではないかと思います。
Windows Server 2003とのことなのでIISの場合。
ASPが動かせるのであればVBScriptからexeファイルを実行できますので、
ブラウザでexeファイルをキックできます。
こんな感じでできたと思います。
Dim objWsShell
Set objWsShell = Server.CreateObject("WScript.Shell")
Call objWsShell.Exec("exeファイルの絶対パス")
Set objWsShell = Nothing
ただし、IISのユーザに、実行するexeファイルの実行権限などを
設定しないといけないと思うので、それだけは設定する必要が
あると思います。
早速の回答ありがとうございます。
言語はC#で作りたいのですが、どういう命令を使えば出来るのでしょうか?
初心者でわからないことばかりですいませんがよろしくおねがいいたします。