dポイントプレゼントキャンペーン実施中!

他の掲示板で投稿されていた質問ですが、同様の現象に
はまっています。ご存知でしたらご教授ください。

以下、引用。

環境: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_を追加し
  フルコントロールの権限を与える
  ⇒ 同様のエラーが発生しました

A 回答 (1件)

C:\wsh\にIUSR_等の書き込み権限があるのでしょうか。


もしくは、そもそもASPからのbat起動が
XPのセキュリティでNGなのかも。

batでやることはASP記述内でFSO等を使って記述できませんか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

C:\wshにIUSRやIWAMの書き込み権限をつけても
結果はエラーでした。

また、バッチファイル内で別に作成したEXEを起動し
サーバ間連携を行う処理が必要なため、FSO等で代用
ができないのです。

そもそもバッチ起動等を行うASPを実行するのに、
匿名アクセスはいくらなんでもまずいだろうと考え、
匿名アクセスを外し適切な権限設定を行うことに
しようかと思っています。
(それが面倒だった為横着しようと思ったのですが…)

お礼日時:2005/08/15 11:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!