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

環境はWindowsServer2000のIISを使っていまして、IIS上のフォルダにExeファイルを置いています。
そのExeファイルをASPファイルから実行しているのですが、Exeファイルにログ出力用のファイル作成が入っているのですが、Server上で実行するとファイルが作成されるのですが、Web上から実行するとファイルが作成できません。

Exeファイルはメールの送信処理が入っているのですが、Web上で実行した場合メールが送信されるので性格にExeを実行できています。
おそらく、権限がない為にファイルの作成ができていないのだと思って、IISの該当フォルダ(書き込み先フォルダ)のプロパティで書き込みにチェックを入れてみたのですが、やはり作成できません。

ASP側実行部分
Set WSH = Server.CreateObject("Wscript.Shell")
WSH.Run(Server.MapPath"./mail/mailsend.exe"),0,False)

Exeファイル
・メール送信(Web上の実行でメールの送信確認)
・送信ログ(ファイルが作成されない)

どなたか、教えてくださいー。
他に権限を変えるところがあるんでしょうか・・
それとも他に原因がー?
小さなことでもいいので教えてください!

A 回答 (4件)

EXEを直にたときの Directory.GetCurrentDirectory() の値は?


スクリプトで実行したときの Directory.GetCurrentDirectory() の値は?
    • good
    • 0
この回答へのお礼

ありがとうございました!
Web上からExeを呼び出した場合のDirectory.GetCurrentDirectoryと、Exe直では、戻り値が違うようです。
パスを直接指定したら書き込めました。ありがとうございました。

お礼日時:2005/11/21 18:08

> Exeファイルにログ出力用のファイル作成が入っているのですが、



フォルダを指定していますか?
カレントフォルダとEXEが格納されているフォルダが
同じとは限らない。

この回答への補足

フォルダの指定はしています。
Directory.GetCurrentDirectory()
にてディレクトリを取得して実行しています。
スクリプトからではなく、EXEを直にたたけば
ファイルの作成はされるのですが、スクリプトでたたくと作成されないのです><

補足日時:2005/11/21 14:22
    • good
    • 0

とりあえず、テストとしてユーザを一つ新しく作成し、そのユーザを匿名アクセスに使うユーザとして設定して、フォルダに対してアクセス権を明示的に「そのユーザに対して」与えてみてはどうでしょう?



最初はフルコントロールから与えて、目的の事が実行できるぎりぎりのアクセス権まで絞っていくような形で。

ちょっとそれでうまくいくかどうかわかりませんが、試してみる価値はあると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
アクセス権の問題ではなかったようです。
勘違いでした。

お礼日時:2005/11/21 18:09

もう一度確認させてください。



・IISの匿名アクセスに使っているユーザは何ですか?
・そのユーザのフォルダに対する権限は確認したんですよね?

この回答への補足

レスありがとうございます。
・IISの匿名アクセスに使っているユーザは何ですか?
IUSR_PC01です。
コンピュータの管理でフルネームを見るとインターネットゲストアカウントとなっています。

・そのユーザのフォルダに対する権限は確認したんですよね?
IISの規定のWebサイトの書き込みフォルダのプロパティの書き込みにチェックが入っています。
エキスプローラにて、書き込みフォルダのプロパティのセキュリティタブは”Everyone"でフルコントロールになっています。

これでだいじょうぶでしょうか?

補足日時:2005/11/16 15:36
    • good
    • 0

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