我已安排两个 powershell 脚本作为任务在 00:00 运行。
今天早上我检查了事件日志,发现其中一个脚本失败并出现以下异常:
Failure. The error was: 'Failed to create log entry in: ‘C:\Users\SPSETU~1\AppData\Local\Temp\PowerShellLog.txt’. The error was: ‘The process cannot access the file 'C:\Users\SPsetupAdmin\AppData\Local\Temp\PowerShellLog.txt' because it is being used by another process.’.'.
- 问题可能与日志有关吗? 这两个脚本都使用了写入日志功能(请参阅 poshcode.org )并使用相同的 ID 登录 Windows 事件日志。
- 您是否知道作为计划任务的 powershell 脚本之间存在任何已知的冲突?
- 我必须一次执行一个任务吗?
最佳答案
好吧,由于您同时尝试从两个不同的进程写入同一个文件,因此您可能会遇到上述错误。
Powershell 与任何应用程序或程序具有相同的限制;在这种情况下,文件写锁。我认为 Powershell 脚本作为计划任务没有任何“特殊”限制。
我会确保您要执行的命令使用唯一的日志文件(如果同时运行它们是您的首要任务),或者将这些命令放在同一个脚本中并将其作为计划任务执行(如果将所有内容都放在一个日志是您的首要任务)。
关于logging - Powershell 计划任务冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5548283/