我目前正在自动化一个 powershell 脚本来转储一个小型数据库。该数据库可通过公司 Sharepoint 访问,我正在利用从所述 Sharepoint 导出的 IQY 文件来读取数据库内容。当我手动运行脚本(即从命令行调用它)时,它没有问题,但是当我尝试从任务计划程序启动脚本时,会引发以下异常:
System.Reflection.TargetInvocationException
产生异常的行是:
$iqy = $xl.Workbooks.Open($query, 2, $true)
其中 $xl 是正确创建的新 Excel.Application ComObject,$query 是包含 iqy 文件的完整文件路径的字符串。
至于我的配置,我试图在 Windows Server 2008R2 上运行我的脚本,使用本地管理员用户(应该启动计划脚本的同一用户),该用户也被授权访问 Sharepoint。我正在运行 Powershell 3.0。我没有加载任何与 Sharepoint 相关的管理单元。
我发现的唯一答案暗示将“信任”授予 IQY 文件位置和 Excel 中的 Sharepoint 本身。那没有帮助。异常似乎也指向一个共享点问题,但由于脚本在手动启动时运行良好,我无法理解它与共享点有什么关系。我错过了任务计划程序的一些复杂性吗?
任何帮助将不胜感激。