【发布时间】:2021-09-06 11:25:18
【问题描述】:
我正在尝试运行一个脚本,该脚本从文件中解析 url 和项目名称,并尝试将文件从 url 下载为 zip 格式。我在将文件写入文件夹时看到错误。我正在使用 windows sserver 2012 R2
ADODB.Stream : 写入文件失败
我已验证 IUSER 和其他用户对目标和源文件夹具有完全访问权限。
这是脚本。我可以知道我是否在这里遗漏了什么吗?
Dim URLFile
Dim URLLine, URL, ProjectName
Dim xHttp, bStrm
Set objShell = CreateObject("WScript.Shell")
Set WshShell = WScript.CreateObject("WScript.Shell")
set fso = createobject("scripting.filesystemobject")
Set URLFile = fso.OpenTextFile("C:\Temp\Scripts\VBScripts\URLList.txt")
do while not URLFile.AtEndOfStream
URLLine = URLFile.ReadLine()
'Wscript.Echo URLLine
if len(URLLine)>10 then
URL = Left(URLLine,inStr(URLLine,";")-1)
ProjectName = Right(URLLine,Len(URLLine)-inStr(URLLine,";"))
Set xHttp = createobject("Microsoft.XMLHTTP")
Set bStrm = createobject("Adodb.Stream")
xHttp.Open "GET", URL, False
xHttp.Send
with bStrm
.type = 1 '//binary
.open
.write xHttp.responseBody
.savetofile "C:\Backups\"&"Backup Zip All Files for "&ProjectName&"-"&cStr(Date)&".zip", 2 '//overwrite
end with
Set xHttp = Nothing
Set bStrm = Nothing
end if
loop
【问题讨论】:
-
你为什么要标记这个
PowerShell? -
无论您是否相信这是一个权限问题,您都需要检查您是否使用
IUSR作为您的ApplicationPoolIdentity以及匿名用户帐户。如果没有,您需要授予IIS_IUSRS系统组对该文件夹的写入权限。 -
本地能正常工作吗?此错误仅出现在 iis 上?如果是这样,那么它应该是一个权限问题,请重新检查您的权限。你给IUSER“完全控制”权限了吗?
-
是的 这在本地可以正常工作。在服务器中,我对包括 IUSER 和我自己在内的多个用户拥有完全控制权。附上权限截图
标签: iis vbscript asp-classic adodb