• 締切済み

ASPからWscriptを利用して外部ファイル起動時のエラー

他の掲示板で投稿されていた質問ですが、同様の現象に はまっています。ご存知でしたらご教授ください。 以下、引用。 環境:Windows XP SP2 , IIS5.1 サンプルプログラム: 1.test.asp  (Wscript.Shell.Runで同じフォルダにあるバッチファイルを実行) ----------------------------------------- <%@Language=VBScript%> <% Option Explicit dim WshShell Set WshShell = Server.CreateObject("WScript.Shell") WshShell.Run "C:\wsh\test.bat" Set WshShell = Nothing %> aaaaa ----------------------------------------- 2.test.bat   (同じフォルダのテキストファイルに文字列を出力) ----------------------------------------- echo aaa > c:\wsh\testbat.txt ----------------------------------------- 現象: 実行したところ、以下のエラーが発生します。 ----------------------------------------- Microsoft VBScript 実行時エラー (0x800A0046) 書き込みできません。 /wsh/test.asp, line 6 ----------------------------------------- 試したこと: 1.バッチファイルを実行する箇所をなくしたASPを作成   ⇒ 正常に動きました 2.他の環境での確認   ⇒ Windows2000Server : 正常に動きました     後輩のXP SP2    : 同様のエラーが発生しました 3.仮想フォルダの匿名アクセスのチェックを外す   ⇒ 正常に動きました 4.IUSR_,IWAM_ユーザーにAdministrators、Users,Guests等の権限をふる   ⇒ 同様のエラーが発生しました 5.ASPファイルなどを格納しているフォルダにIUSR_、IWAM_を追加し   フルコントロールの権限を与える   ⇒ 同様のエラーが発生しました

みんなの回答

  • sam_inoue
  • ベストアンサー率47% (27/57)
回答No.1

C:\wsh\にIUSR_等の書き込み権限があるのでしょうか。 もしくは、そもそもASPからのbat起動が XPのセキュリティでNGなのかも。 batでやることはASP記述内でFSO等を使って記述できませんか?

Tgoo
質問者

お礼

回答ありがとうございます。 C:\wshにIUSRやIWAMの書き込み権限をつけても 結果はエラーでした。 また、バッチファイル内で別に作成したEXEを起動し サーバ間連携を行う処理が必要なため、FSO等で代用 ができないのです。 そもそもバッチ起動等を行うASPを実行するのに、 匿名アクセスはいくらなんでもまずいだろうと考え、 匿名アクセスを外し適切な権限設定を行うことに しようかと思っています。 (それが面倒だった為横着しようと思ったのですが…)

関連するQ&A