ASPで、サーバ上のスクリプトファイルの実行。
こんにちは。よろしくお願いします。
環境
ASP
Win2003、IIS6、SQLServer2000
イントラネット内環境のみのシステム
クライアントPCでWebブラウザを起動して、とあるURLへアクセス。。。
ソースの中のVBS部分に書き込んでおいた、サーバ側のスクリプトファイルがキックされる。。。
サーバ上でスクリプトファイルが実行されてめでたしめでたし。。。
そんな事を思い描いていましたが。。。できませんでしたっけ??@w@;
クライアントがアクセスするASPファイル
hogehoge.asp
--------------------
<%
Dim objWsShell
'##### Shellオブジェクトのインスタンス化 #####
Set objWsShell = Server.CreateObject("WScript.Shell")
'##### シェルを起動する #####
Call objWsShell.Run("D:\abc\abc\Run.vbs", 1, false)
'### Shellオブジェクトの破棄 ###
Set objWsShell = Nothing
%>
<html lang="ja">
<head>
<title>ほげほげ</title>
</head>
<body>
ほげほげ
</body>
</html>
--------------------
サーバ側に用意してあるスクリプトファイル
Run.vbs
--------------------
MsgBox "きっくされました。"
--------------------
もしくは
--------------------
obj.Run "notepad"
(前後のobjのCreateあたりは省略。
--------------------
あたりにしても、うんともすんとも。。。
タスクマネージャーを確認すると、WScript、もしくは、Notepadのプロセス自体は動いているようなので、
キック自体は出来ている?ようなのですが、実行ユーザーが「NETWORK SERVICE」になっているため?
動いてはいないような感じに見えます。(CPUの数値が0固定なので。
該当のファイルのアクセス権限あたりは、NETWORK SERVICEに全権限あたえてみたりしたのですが、
自分の知恵じゃそろそろ方法が出なくなってきまして。。。
http://www.f-store.net/asp/parts-kubun.asp?MODE=START2&key=%82v%82r%82g
実際の、サーバ側に用意したスクリプトでは、さらに別のjsファイルをキックして、その中で、とあるWebページにアクセスして、
そのWebページのHTMLソースをテキストファイルとして保存する。という処理をさせています。
。。。サーバ上で、用意したスクリプトを実行すれば、希望通りの動きになるので、後は、上に書いた、クライアントのWebページからキックしたはずの
スクリプトソースがちゃんと動けば。。。と思ってます。
やっぱセキュリティ関連に引っかかり。。。?それとも、何か自分がひどい思い違いをしている??
すみませんが、どなたかお知恵をお貸しください。よろしくおねがいします。m(_ _)m
参考:前質問
http://okwave.jp/qa/q6725891.html
お礼
とてもわかりやすいご回答ありがとうございます! おかげでスッキリしました!また機会があればぜひよろしくお願い致します。