在asp中创建文本文件时权限被拒绝

时间:2014-08-07 11:22:36

标签: iis vbscript asp-classic permission-denied filesystemobject

我有以下代码:

<%
dim deviceid
dim fso
dim outFile

deviceid=Request.QueryString("deviceid")

If deviceid<>"" Then
    Response.Write("Hello " & deviceid & "!<br>")

    Set fso = Server.CreateObject("Scripting.FileSystemObject")
    Set outFile = fso.CreateTextFile("C:\Users\Victor\Desktop\respTank.txt")
    outFile.WriteLine("Hello World!")
    outFile.close

    set outFile = nothing
    set fso = nothing

End If
%>

我收到以下错误:

Microsoft VBScript runtime error '800a0046'
Permission denied

我向IIS_IUSRS授予了所有权限,但它没有帮助。谁能在这帮助我?

2 个答案:

答案 0 :(得分:1)

听起来ApplicationPoolIdentity不是Web应用程序使用的用户上下文。

根据IIS版本,您要检查(使用管理器)

  

IIS 4-6

     

网站/应用程序属性 - &gt; Document Security

     

IIS 7 +

     

网站/应用程序 - &gt; Authentication

并查看Anonymous AccountApplicationPoolIdentity可以与Modify进行不同的设置。

根据此值,将权限(至少C:\Users\Victor\Desktop\)应用于文件夹{{1}},您就可以了。

答案 1 :(得分:0)

我刚刚在删除文件中发生same thing,您是否尝试删除括号?

Set outFile = fso.CreateTextFile("C:\Users\Victor\Desktop\respTank.txt")

Set outFile = fso.CreateTextFile "C:\Users\Victor\Desktop\respTank.txt"