2010-06-25 92 views
0

我一直在努力修改现有的vbscript。奇怪的部分是,当我手动运行脚本时,它工作正常。但是,只要我尝试将它作为计划任务运行,它就会报告为完整,但实际上没有做任何事情。经过许多故障排除之后,我认为我已将其追踪到原始的CreateObject。下面的代码:通过服务器2003上的计划任务运行vbs文件

On Error Resume Next 

'create an instance of IE 
Dim oIE, objFSO, linenum 

linenum = 0 
Set oIE = CreateObject("InternetExplorer.Application") 

'If err.number <> 0 Then linenum = 6 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Const ForAppending = 8 

Set objTextFile = objFSO.OpenTextFile ("C:\test.txt", ForAppending, True) 

'objTextFile.WriteLine(now() & " Internet object created.") 

'Execute our URL 
'oIE.navigate("<intranet site>") 

'objTextFile.WriteLine(now() & " Starting import") 

'wait for the window to be closed (exit IE) 
'Do Until Err : oIE.visible = True : wsh.sleep 1000 : Loop 

'objTextFile.WriteLine(now() & " Import complete.") 

if Err.Number <> 0 then 
    ' An exception occurred 
    objTextFile.WriteLine("Exception:" & vbCrLf & " linenum: " & linenum & vbCrLf & "  Error number: " & Err.Number & vbCrLf & "  Error source: " & Err.source & vbCrLf & " Error description: " & Err.Description & vbCrLf) 
End If 


'clean up 
'oIE.Quit 
'oIE.Visible = False 
'Set oIE = Nothing 

我评论的大部分出来,将它缩小,并从我增加了日志记录,它吐出来的是电流误差:

Exception: 
    linenum: 0 
    Error number: -2147467259 
    Error source: 
    Error description: 

是,源描述行是空白的。 使用Google搜索错误似乎没有提供任何有用的信息。所以我不确定发生了什么事。权限已被多次检查,并且始终以管理员身份运行,与我登录时的用户相同。有趣的是,这个脚本在Windows 2000下运行良好。关于我唯一能想到的事情是,我使用的远程桌面连接可能会干扰它。

任何人有任何想法或事情我可能会尝试解决这个问题?

+0

它看起来像你试图从网站导入数据。您可以使用excel中的内置功能来创建一个webquery而不是一个vbs脚本 – 2011-01-11 13:37:33

回答

0

仅供参考,如果您在使用Google搜索十进制错误号时遇到问题,请尝试将其转换为十六进制。 -2147467259与80004005是一样的,如果你搜索这个,你会发现这是一个很常见的错误,通常意味着你被拒绝访问某些东西,所以即使你确定它不是你的东西的权限,已经检查过,可能值得进行以下检查:

计划任务是否在您手动执行脚本时使用的相同帐户下运行?否则,请尝试在脚本上执行RunAs以作为与任务相同的用户帐户运行,如果可行,请尝试将任务安排为您的帐户。
这样你就会知道它是否是(任务vs手册)还是它(user1 vs user2)。这可能会更容易找出问题。