创建计划任务以在具有特定事件 ID 的日志事件上触发

创建计划任务以在具有特定事件 ID 的日志事件上触发

我有一个手动例程(涉及计划任务 GUI),用于创建在以下情况下触发的计划任务:来自事件日志的给定事件集. 我想使该过程自动化使用 Powershell(或者使用其他脚本工具)我发现了一个小技巧附有一些示例以及新计划任务触发器

不幸的是,文档没有显示为某些特定事件 ID 创建任务的任何视图。它仅列出了一个特定的非时间相关触发器 - -AtLogOn

我该如何注册这样的任务?例如可以Get-Eventlog使用吗?新计划任务提到了“触发对象”,但没有提到如何创建它们以及文档触发器不再更新,并且不包含任何 PowerShell 相关信息。 的文档New-ScheduledTaskTrigger似乎正是我想要的:

New-ScheduledTaskTrigger cmdlet 创建并返回一个新的计划任务触发器对象。

但正如我上面提到的,文档中没有提到任何有关事件 ID 的内容。

答案1

我发现离开,尽管不是严格使用 PowerShell,而是 XML 和schtask命令的组合。信息取自以下 Microsoft 博客:从 Windows 事件触发 PowerShell 脚本

对于脚本的用户

该脚本的目标用户现在可以在终端中运行此脚本:

schtasks /create /TN "My Super Duper Tasks\The task id 101" /XML my-task.xml

这假定脚本已安装在指定区域,例如C:\my-script.bat,否则 Windows 将无法运行任何内容。

对于剧本作者来说

以下步骤当然仅适用于作者脚本,而不是其预期用户!

  1. 像平常一样手动创建触发器(例子)。
  2. 右键单击触发器并将其导出到 XML 文件。
  3. 右击扳机并删除它(稍后将根据 XML 重新创建)。
  4. Principals删除 XML 文件中的和部分RegistrationInfo,因为它们包含其他计算机上不存在的有关用户 ID 的硬编码信息。将使用 重新创建schtasks
  5. 运行schtask上面给出的命令(针对用户)

相关内容