1

我有一个 Powershell 脚本,我正试图从 SAP 调度程序开始工作。当我在 ISE 中或从 .bat 文件运行脚本时,脚本运行良好。当从调度程序调用脚本时(使用相同的 .bat 文件),我的日志文件中出现错误。错误是“无法在空值表达式上调用方法”。我无法弄清楚错误在哪里,或者为什么它只在从 SAP 调度程序调用时才出现。如何获取错误的位置?我可以在 Catch 语句中添加一些内容来帮助识别错误吗?到目前为止,我什至无法抓住它。


我发现错误是从调度程序运行作业时未创建凭据。密码被加密并从文件中读取,并由此创建凭证。如果我通过 ISE 运行它,我无法弄清楚为什么它可以正常工作,但不能通过调度程序运行。文件权限可能吗?

4

1 回答 1

0

事实证明这是一个文件权限错误。运行作业的任务计划程序没有从文件中读取密码的权限。最后,我创建了一个将密码存储为安全字符串的作业,并将该作业作为服务 ID 运行。然后服务 ID 可以访问密码。由于它将始终是运行该作业的 ID,因此效果很好。

于 2013-02-18T21:10:14.237 回答