街中で見かけて「グッときた人」の思い出

社内ネットワークにてWEBサーバーにシステムを作成しファイルサーバーの特定のフォルダーの
サブディレクトリーとファイル一覧を取得しようとしていますが
「接続しようとするページに問題があるため、そのページを表示できません」
のメッセージがでます。

(データの保存先をLANハードディスク にすると一覧取得できます)

ファイルサーバーの設定等で回避できるのでしょうか。

WEBサーバー環境
Windows Server 2003
IIS
プログラム VBS
Filesystemobjectを使いサブディレクトリーを検索

ファイルサーバー環境
Windows Server 2003
IIS
対象親ディレクトリーにはインターネットゲストアカウント追加
対象親ディレクトリーは共有設定

Webサーバープログラムサンプル
test.asp
<html>
<body>
<table >
<%
dim icount
dim fname
dim FSO
dim FolderPath
Set FSO = CreateObject("Scripting.FileSystemObject")
fname="\\ファルサーバーのIP\test"
icount=0
For Each f In fso.GetFolder(fname).SubFolders
icount=icount+1
Next
response.write("icount" & icount)
%>
<tr><th>ID</th><th COLSPAN=<%=icount%>>選択</th></tr>
<tr>
<%For Each f In fso.GetFolder(fname).SubFolders%>
<% pname=f.Name %>
<TD><input type="radio" name="file1" value=<%=f.Name%>><%=f.Name %>
<%Next%>
</tr>
</table>
</body>
</html>

A 回答 (3件)

valueなどの表示部分にresponse.writeで表示したらどうでしょうか?


また社内のみならIISのスクリプトソースアクセスをチェック入れとけばどこでエラーかわかると思います。

この回答への補足

エラーは
For Each f In fso.GetFolder(fname).SubFolders
でおこっています。
ちなみに
データフォルダーを外付LANハードディスクにかえると上手く表示されるので
プログラムが原因ではないのかと。

補足日時:2011/05/18 09:19
    • good
    • 0

匿名アカウントで実行されるから、


単にディレクトリを見る権限が無いだけじゃない?

この回答への補足

クライアント側から
エクスプローラのアドレスバーに
\\ファルサーバーのIP\test と入れるとフォルダーは表示されるので
権限ははいっているかと。
データフォルダーにネットゲストアカウント+everyoneの権限のフルアクセスも与えてあります。

補足日時:2011/05/18 12:04
    • good
    • 0

あくまで、Webサーバの実行アカウント(デフォルトなら DefaultAppPool にアサインされた NETWORK SERVICE)が、ファイルサーバに見に行けなければ意味がないので、ファイルサーバ側のローカルアカウント(インターネットゲストアカウント)を指定したところで権限がないことには変わりありません。


アプリケーションプールのアカウントを変えるか偽装するかしないとダメでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございました。
今回は断念します。

お礼日時:2011/05/26 09:03

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