• 締切済み

ASPからVBScriptの実行

ASPから下のVBScriptを実行使用とすると "500"Internal Server Error が出力されて困ってます。 へるぷみー Dim objWSHShell Set objWSHShell=WScript.CreateObject("WScript.Shell") objWSHShell.Run "cscript.exe d:\test.bat" objWSHShell=Nothing

みんなの回答

noname#158371
noname#158371
回答No.1

動かそうとしているコードはサーバー側のコードとして動かそうとしてますね? まず問題点が2つあります。 まず1つ目は、 ×Set objWSHShell=WScript.CreateObject("WScript.Shell") ◎Set objWSHShell=Server.CreateObject("WScript.Shell") になります。 そして、2つ目は、 WScript.Shellは、IIS(Webサーバー)のセキュリティ制限で 恐らく動かないんじゃないかと。 もしどうしても、ASPからShell実行したいのであれば、BASP21を 導入してShell実行できるようコードを書き換えてください。 ■BASP21の入手先 http://www.hi-ho.ne.jp/babaq/basp21.html ■BASP21を使ってASPからtest.batを呼び出すVBScript Dim bobj Dim rc Dim stdout Set bobj = Server.CreateObject("basp21") rc = bobj.Execute("cmd.exe /c d:\test.bat", 1, stdout) Select Case rc  Case 0 : response.write("正常終了")  Case -1 : response.write("コマンドエラー")  Case -2 : response.write("タイムアウト") End Select Set bobj = Nothing 宜しくお願いします。

参考URL:
http://www.hi-ho.ne.jp/babaq/basp21.html
stockjp
質問者

お礼

ご回答ありがとうございます。 試してみます

関連するQ&A