标签: task-scheduler

如何使用 Windows Server 任务计划程序在文件夹发生任何更改时触发任务?

每次修改文件夹树时是否可以启动脚本。

例如:

root
  dir1
    file1
  dir2
    file1
    file2
Run Code Online (Sandbox Code Playgroud)

root将被监听,例如,如果 file2 被修改或在目录树中的任何地方添加了一个新文件,脚本就会启动。

一个子问题是:是否由排队的事件触发的计划任务?

谢谢你的帮助!

windows windows-server-2008 scheduled-task task-manager task-scheduler

10
推荐指数
1
解决办法
4万
查看次数

如何让任务调度程序在调用批处理文件时显示 cmd shell?

我正在使用 Windows 2008 R2 并且我正在尝试在任务计划程序中安排我的应用程序。我已经使用正确的设置创建了一个批次。

我遇到的问题是:我需要显示 Cmd shell 窗口(运行 bat),但是任务调度程序在后台启动应用程序并且 Cmd 窗口无处可见。

我从任务调度程序中尝试了不同的东西:

- cmd /c start ...MyProgram.bat does not work.
- I tried calling my batch directly does not work.
- I also tried a piece of vbs script with winScriptHost.run does not work either.
Run Code Online (Sandbox Code Playgroud)

我错过了什么?我该如何解决这个问题?

windows-command-prompt task-scheduler

9
推荐指数
3
解决办法
6万
查看次数

任务计划程序崩溃 MMC

每当我尝试运行 Windows 2008 R2 的任务调度程序时,我都会遇到错误。每次我尝试运行它时,任务调度程序都会崩溃并报告以下内容:

问题签名:

  Problem Event Name:   CLR20r3
  Problem Signature 01: mmc.exe
  Problem Signature 02: 6.1.7600.16385
  Problem Signature 03: 4a5bc808
  Problem Signature 04: System.Windows.Forms
  Problem Signature 05: 2.0.0.0
  Problem Signature 06: 50c29e85
  Problem Signature 07: 151f
  Problem Signature 08: 18
  Problem Signature 09: Exception
  OS Version:   6.1.7601.2.1.0.16.7
  Locale ID:    1033
Run Code Online (Sandbox Code Playgroud)

我一直在网上寻找,但到目前为止,我一直在寻找解决此问题的不同结果,并且想知道这里是否有人以前遇到过这个问题。我读到这个问题可能是由于 Microsoft Windows 的安全更新 (KB2449742) 而通过卸载它我将能够解决这个问题,但是我无法在服务器的任何地方找到它。

如果有兴趣,这是链接

补丁明智,一切都是最新的。此外,我尝试运行修补程序 KB2688730 以查看在进行了一些在线研究后是否可行,但是该修补程序不适用于计算机。

如果有人可以提供一些有关如何解决此问题并使任务调度程序再次运行的信息,那将非常有帮助!

windows task-scheduler windows-server-2008-r2

8
推荐指数
1
解决办法
5523
查看次数

如何告诉任务计划程序 MMC 记住历史记录的列宽?

在 Windows Server 2008 R2 上使用任务计划程序 MMC,我遇到了一些让我非常恼火的事情:

任务的历史记录窗口不记得列宽,因此阅读起来相当困难/不可能。

例子:

这是打开 MMC 并选择一项任务时最初的样子:

在此处输入图片说明

然后我通过双击调整列宽,最终可以读取内容:

在此处输入图片说明

然后,我选择另一个任务并再次面对相同(太小)的列:

在此处输入图片说明

这真的让我发疯。由于我是一名开发人员并且只是一名“兼职管理员”,我无法想象一个全职管理员如何使用这个工具而不会发疯。

所以我的问题是:

有没有办法配置 Windows 任务计划程序 MMC 以记住历史记录窗口的列的宽度?

(或者:是否有另一个 GUI 工具来管理我的计划任务?)

windows windows-server-2003 windows-server-2008 task-scheduler

8
推荐指数
1
解决办法
2849
查看次数

如何在powershell脚本中打印出有关任务计划程序的信息?

我正在尝试从脚本中Task Scheduler的本地计算机打印信息,PowerShell以便其他用户也可以打印此信息而不必访问Task Scheduler. 我需要脚本打印出来

  • 姓名,
  • 地位,
  • 触发器,
  • 下次运行时间,
  • 上次运行时间,
  • 上次运行结果,
  • 作者,
  • 创建。

我可以打印出有关名称、下次运行时间和上次运行时间的信息,但在运行脚本时不会打印出其余的信息。

我已经对我的脚本有了一个小小的开始,并把字段放下了。

$schedule = new-object -com("Schedule.Service") 
$schedule.connect() 
$tasks = $schedule.getfolder("\").gettasks(0)

$tasks | select Name,Status,Triggers,NextRunTime,LastRunTime,LastRunResult,Author,Created | ft

foreach ($t in $tasks)
{
foreach ($a in $t.Actions)
{
$a.Path
}
}
Run Code Online (Sandbox Code Playgroud)

任何帮助或建议将不胜感激。

以下是我正在寻找的内容以及哪些字段未打印出数据的屏幕截图:

以下是我正在寻找的内容以及哪些字段未打印出数据的屏幕截图:

powershell windows-server-2008 task-scheduler windows-server-2012

8
推荐指数
2
解决办法
2万
查看次数

任务计划程序只杀死 cmd.exe 而不是它的子进程

我们的客户有一些运行由任务计划程序激活的批处理作业的 Windows 2003 服务器。执行工作的实际程序是自定义的 .exe 进程,它们被聚合到 .cmd 脚本中,以便在计划的时间间隔到来时由 Task Scheduler 一起启动。cmd 脚本中的行可能会也可能不会使用 Call 命令来启动单独的 .exe 程序。

在此设置中,任务计划程序有效地监视 cmd.exe,并且在使用进程资源管理器时,可以观察到子 .exe 进程停放在 cmd.exe 进程树下。但是,当任务计划程序由于超出允许的时间限制而终止 cmd.exe 时,子 .exe 进程可能不会与其父进程一起被终止并成为孤立的。这些进程无限期地停滞不前。由于进程资源管理器中显示的进程线程状态,我怀疑这些进程最终出错并弹出了一个 .NET 调试器对话框(这些是 .NET 应用程序),由于批处理作业用户是一个单独的用户,因此无法看到该对话框帐户。

最初,当我在我的 Windows XP 工作站上调查此行为时,我观察到从我的测试 .cmd 脚本启动的子 .exe 进程确实在任务计划程序决定时间到时与 cmd.exe 一起被杀死。我无法孤立子进程。

基于一种预感,我最终转移到一台 Windows 2003 机器上进行测试。同样,子进程会像我工作站中的进程一样被终止。我的第二步是使用另一个用户帐户来运行计划任务。这一次,cmd.exe 在超过时间限制后被杀死,但子进程仍然存在,就像我的客户在他们的生产服务器中观察到的一样。

如果我抢先登录该批处理用户帐户(恰好是另一个管理员帐户)以声明桌面会话,则来自我的测试 .exe 程序的任何错误或信息弹出窗口都将路由并呈现在该桌面上,允许我查看实际的用户输出。如果我只在调用计划任务后登录,桌面会话将不会“回收”现有进程的窗口;他们永远隐藏。

我的问题是,我在这里缺少什么条件会导致任务计划程序不清除 cmd.exe 下的子进程?使用另一个会引起这种行为的帐户有什么特别之处,但在使用我当前的管理员帐户运行计划任务时却没有?

windows windows-server-2003 task-scheduler

7
推荐指数
1
解决办法
8153
查看次数

在 Windows Server 备份事件中返回“ComponentStatus”内容的任务计划程序语法是什么

我创建了一个任务计划程序事件,它在 Microsoft-Windows-Backup 事件日志中的 EventID 14 上通过电子邮件发送给我(注意这是一个新的样式(Vista 及更高版本)日志。我导出了这个,并在 Serverfault 和 Technet 上进行了一些研究后,包括这个问题

我的任务触发器的 XML 要点是:

<Triggers>
    <EventTrigger>
      <Enabled>true</Enabled>
      <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="Microsoft-Windows-Backup"&gt;&lt;Select Path="Microsoft-Windows-Backup"&gt;*[System[Provider[@Name='Microsoft-Windows-Backup'] and EventID=14]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
      <ValueQueries>
        <Value name="eventChannel">Event/System/Channel</Value>
        <Value name="eventExinfo">Event/EventData/Data[@Name='ComponentStatus']</Value>
        <Value name="eventRecordID">Event/System/EventRecordID</Value>
        <Value name="eventSeverity">Event/System/Level</Value>
      </ValueQueries>
    </EventTrigger>
  </Triggers>
Run Code Online (Sandbox Code Playgroud)

不幸的是,这会产生错误(Action 上的 Launch Failiure)。非常相似:

<Triggers>
    <EventTrigger>
      <Enabled>true</Enabled>
      <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="Microsoft-Windows-Backup"&gt;&lt;Select Path="Microsoft-Windows-Backup"&gt;*[System[Provider[@Name='Microsoft-Windows-Backup'] and EventID=14]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
      <ValueQueries>
        <Value name="eventChannel">Event/System/Channel</Value>
        <Value name="eventExinfo">Event/EventData/Data[@Name='BackupTemplateID']</Value>
        <Value name="eventRecordID">Event/System/EventRecordID</Value>
        <Value name="eventSeverity">Event/System/Level</Value>
      </ValueQueries>
    </EventTrigger>
  </Triggers>
Run Code Online (Sandbox Code Playgroud)

工作正常并向我发送电子邮件“BackupTemplateID”值。

我认为这是因为“ComponentStatus”的内容本身就是 XML,但不是任务计划程序架构的一部分。

有没有人知道解决这个问题的方法?如果这是不可能的,另一种获取数据的方法也可以。

我希望这样做是因为 ComponentStatus 部分会记录备份是否在将 Exchange 作为应用程序进行备份时出现问题,而事件描述仅指示备份已成功完成。

windows-server-2008 windows-event-log task-scheduler windows-server-backup

7
推荐指数
0
解决办法
2267
查看次数

如何在 Windows Server 2008 机器之间复制多个计划任务?

我有几个独立的 Win2008 (R1+R2) 服务器(无域),每个服务器都有几十个计划任务。每次我们设置新服务器时,所有这些任务都必须在其上创建。

任务不在“任务计划程序库”的“根”中,它们驻留在子文件夹中,最多两层深。

我知道我可以使用 schtasks.exe 将任务导出到 xml 文件,然后使用:

schtasks.exe /CREATE /XML ...' 
Run Code Online (Sandbox Code Playgroud)

将它们导入到新服务器上。问题是 schtasks.exe在 root 中创建它们,而不是在它们所属的子文件夹中。GUI 中也无法移动任务。

有没有一种工具可以让我集中管理我的所有任务,并允许我在多台机器上的文件夹中创建它们?它还可以更轻松地设置“执行用户和密码”。

automation windows-server-2008 task-scheduler

7
推荐指数
1
解决办法
3787
查看次数

如何安排任务在 Windows Server 2003 R2 上每 x 分钟运行一次

如何添加应在 Windows Server 2003 R2 上每 x 分钟运行一次的计划任务。

我遵循了网络上的许多建议,但在运行 1 或 2 次后,我总是会出现一些中断。

这是我所做的:

  1. 新建计划任务

  2. 计划 > 每日任务 08:00 AM,每 1 天

  3. 计划 > 高级 > 每 30 分钟重复一次任务,持续 31 分钟(为什么???)

  4. 启用它

1 次运行后不工作,下一次运行时间为 +1 天上午 08:00

如何解决这个问题?

windows-server-2003 scheduled-task task-scheduler

7
推荐指数
1
解决办法
5万
查看次数

在 Windows 2012 中每分钟安排一个任务

我需要安排Task我的 Windows 2012 内部分钟运行一次,如何做到这一点?这是我的Task

C:\>C:\Users\Administrator\Downloads\wget\bin\wget.exe --spider --quiet http://XXX/XXX.aspx
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = C:\Users\Administrator\Downloads\wget/etc/wgetrc

C:\>
Run Code Online (Sandbox Code Playgroud)

我试过Task Scheduler-> Create Task,但我不知道如何安排每分钟运行一次。

这在 *NIX 世界中是等价的:

$ crontab -l
* * * * *   wget --spider --quiet http://XXX/XXX.aspx
$ 
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢!

windows scheduled-task task-scheduler windows-server-2012

6
推荐指数
1
解决办法
2万
查看次数