logging - Powershell 计划任务冲突?

标签 logging powershell scheduled-tasks event-log

我已安排两个 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/

相关文章:

java - 对 newSingleThreadScheduledExecutor 使用 ScheduleAtFixedRate 和 Schedule 方法

Python:如何在 python 使用日志记录模块中创建和使用自定义记录器?

linux - 在 linux 服务器中使用日志级别着色的尾部 logback 日志文件

Windows 任务计划程序 - 将文件从 URL 复制到桌面

visual-studio-2010 - 自定义Windows服务调用Powershell来执行交换32位和64位问题的命令?

Powershell - 使用Where-object,查找带有数字的字符串(电子邮件地址)

ruby-on-rails - 使用 rake 任务时检查电子邮件是否发送过一次的最佳方法是什么?

c# - 如何在 Global.asax 中获取来自另一个 .aspx 页面的 log4net 日志记录信息?

python - Python 日志模块中的 SMTPHandler 一次发送一封电子邮件。我怎样才能阻止这个?

powershell - 通过 PowerShell 自动进行 SSL FTP 上传