设置任务作为SYSTEM运行相当简单,但设置为NETWORK SERVICE时显示“Access is denied”错误消息。 有没有办法让这个工作? (问题是我不想为该任务创build一个新的域用户,我需要从这个任务访问一个远程共享。)
我想知道其他人如何处理这种情况。 如果你有一份工作计划在凌晨1:30运行,该怎么办? 在秋天,时间变化的时候,一点到一点五十九分五十九分的时间会重演,所以工作会跑两次。 可以是Windows任务计划程序,SQL代理或任何其他计划工具。 大多数这些工具似乎是基于机器时间,而不是UTC时间。 如果我告诉它每天晚上在UTC时间工作,那么我就不会有重复的小时问题。
如果用户密码发生更改,则用户计划的任务将失败,除非更改与该任务关联的密码。 这对我来说是一个问题,因为我有一个小脚本,每天在其他人的服务器上运行一个计划任务。 他们有一个政策,每个月都需要更改用户密码。 这对计划任务造成问题,因为它无法运行。 这个问题有什么好的解决scheme,每个月都不需要人工干预?
我有一个.bat文件来执行维护机器上。 我把.bat文件放在networking连接的服务器上供所有工作站访问。 如果我要使用Windows调度程序来使这个.bat文件运行在12:00:00.000上… 50个工作站,他们都能够运行它还是会出错? PS不要求我尝试它= P
在我被击落之前,我知道如何安排一项任务,使用powershell重新启动一项服务,或给非pipe理员帐户授予重新启动服务的权限。 这不是问题。 然而问题是所有这三项任务的结合。 我有一个Windows服务需要处理networking文件夹上的文件。 因此,它使用“服务帐户”login,该服务帐户实际上只是普通的域帐户。 此域帐户不是pipe理员,但具有对所述文件夹的访问权限。 该服务运行良好,这是工作。 但是,有时会在其中一个文件中出现错误,导致无法处理其他文件。 通常需要一段时间才能注意到,还有一些积压。 所以,我在PowerShell中创build了一个监视脚本,用来轮询这些错误文件的networking文件夹。 如果find了,文件将被移动到一个临时文件夹进行审查,并且服务需要重新启动。 我通过组策略提供了服务帐户权限来启动和停止服务。 当我用服务帐户login到服务器时,我可以使用服务MMC手动重新启动服务。 我也能够执行PowerShell脚本,它完全是它应该做的:轮询文件夹,移动文件并重新启动服务。 大! 在下一阶段,我创build了一个计划任务,每10分钟运行一次。 该任务使用与服务相同的服务帐户来执行powershell脚本。 选中“执行最高权限”框。 就像我说的,powershell脚本需要访问networking驱动器,所以我不能运行它作为本地服务器pipe理员,我不想使用域pipe理员凭证这样一个琐事的任务。 (我尽量实现最小特权的原则。) 我使用本地安全策略MMC为服务帐户提供了本地服务器上的“作为批处理作业login”权限。 现在对于我无法弄清楚的部分:在计划的时间,计划任务成功完成,并执行PowerShell脚本。 脚本轮询文件夹并移动错误文件。 唯一不起作用的是重新启动服务…?! 再次,手动运行脚本作为相同的用户完美工作。 我在事件查看器中看不到太多内容,但是在我的脚本上logging了这个错误: TerminatingError(停止服务):“无法在计算机上打开服务控制pipe理器”,此操作可能需要其他权限。 我用来重新启动服务的命令是: Stop-Service -Verbose -DisplayName $($service[1]) … Start-Service -Verbose -DisplayName $($service[1]) (我在2008 R2域上使用Windows Server 2012 R2和PowerShell版本4)。 更新:我都尝试使用subinacl设置服务的权限(如此处所述),并手动设置SDDLstring(如此处所述),所以我的控制标志看起来像这样(A; CCLCSWRPWPDTLOCRRC ;;; S-1- X-XX-XXXXXXXXXX-XXXXXXXX-XXXXXXXXX-XXXX)。 我也尝试在GPO中将服务权限设置为完全控制。 这些都没有解决这个问题。 它必须是一个我仍然忽视的特权问题,因为当我使用服务器上的本地pipe理员的域帐户安排任务时,它工作得很好。
在我的Windows 7机器上,我可以运行如下的东西: schtasks.exe /Change /TN "MyTaskName" /Disable 但/禁用似乎没有在Windows XP中可用 – 有什么办法从命令行禁用它?
情况 我有一个批处理脚本准备一些文件,执行程序( .exe ),然后删除所述的文件。 这个任务应该每小时运行一次,所以我试图用Scheduled Tasks来configuration它。 问题是前面提到的程序在从任务调用时不能正常运行(既不是通过.bat脚本,也不是直接调用.exe ),但是在日志中没有任何警告或错误消息。 build立 该任务被configuration为以具有正确设置的所有特权的Windows服务帐户运行。 当使用这个账户通过RDPlogin时,我可以直接执行.bat和.exe而没有问题,但是这个任务似乎什么都不做。 这很容易被观察到,因为程序总是修改一个文件, 修改的时间戳不会通过任务改变。 在计划的任务日志中,我得到启动进程,退出等任务的信息消息。然而,“结果代码”是111 (试图Google没有运气,我得到的唯一联系是“文件名也是长“,这是完全不相干的AFAIK)。 在应用程序日志中,我一无所获。 我怀疑是这个问题 该程序是一个古老的怪物,产生一些启animation面(这实际上是一个普通的窗口),即使不需要graphics用户界面,因为它不需要交互,并在操作后自行closures。 窗口显示约2秒钟。 我怀疑这个GUI的需求与任务失败有关,但我不确定。 当我通过RDP(通过RDP)运行任务的用户login时,启动计划任务时不会显示任何窗口。 编辑关于GUI 我已经构build了一个非常小的C#可执行文件,用于启动不带主窗口的程序(使用ProcessStartInfo.WindowStyle = ProcessWindowStyle.Hidden )。 即使这样,计划的任务仍然无法正确启动程序,但返回代码现在为0 。 更新 当我将任务configuration为说“运行用户是否已login”,并且未选中“ run with highest privileges ”选项时,错误值为2147943859 。 我能做些什么来排除故障? OS = Windows Server 2008 R2 SP1 如果需要更多信息,请在评论中告诉我。
我有一个onstartup任务,我想自动运行,无论是否有人login。 我已经设置为Run whether user is logged in or not , Do not store password1 ,并使用下面的代码Run with highest privileges ,我认为会工作: schtasks /create /tn "My OnStartup Task" /TR "powershell blah.ps1" /sc ONSTART /f /NP /RL HIGHEST 启用任务计划程序历史logging后,我收到如下错误: Event ID: 104: Task Scheduler failed to log on "<Task Author>" . Failure occurred in "LsaLogonUser" . User Action: Ensure […]
我可以像这样从命令行创build一个任务: schtasks /create /tn SomeTask /tr "do.bat arg1 arg2" /sc ONCE /st 00:00:00 /sd 01/01/1991 现在我需要删除它。 但是该命令需要确认,我不知道如何从BATCH文件(bat / cmd)做到这一点。 C:\> schtasks /delete /tn ContextSwitchTask WARNING: Are you sure you want to remove the task "ContextSwitchTask" (Y/N)? C:\> echo Y | schtasks /delete /tn ContextSwitchTask WARNING: Are you sure you want to remove the task "ContextSwitchTask" […]
我们有一个2012年的服务器,有大约20个计划任务用于监控。 我们已经build立了一个2016年的服务器来取代它,当我将任务移动到新服务器时,我遇到了一个问题。 我们的大部分任务每隔几分钟运行一次。 在Server 2012中,我们将安排任务在当天的1200AM(过去一段时间)开始,每隔X分钟再次发生一次。 该任务将在下一个预定时间开始。 完善。 在Server 2016中,从以前开始的时间表不运行。 所以我们必须安排它在未来开始。 这很好,直到你重新启动。 现在开始时间已经过去了,不会运行。 它甚至没有注册失败的运行。 下一次运行时间列显示它应该运行,但不运行。 除了创build两个触发器,一个在未来启动,另一个在重新启动时启动(我们不想做,因为一些任务只应该在特定时间运行),还有更好的方法吗? 这似乎是一个错误。 2012年的版本很好。 UPDATE 这是一个解决方法。 创build无限期运行的一次性计划。 重新启动后,这个工作就像你所期望的一样。 我知道这对于那些“怪异”的时间表来说并不是很好,但对于我们每3分钟或者其他任何时间都要运行的事情来说,这样做还是不错的。