Jos*_*ank 48 windows-7 task-scheduler
我有一个每小时在我的机器上运行的守护进程,即使我选中了这个Hidden框,它也不起作用。
该任务每小时运行一次,但它显示黑色命令窗口,我的 .NET 控制台应用程序正在其中运行。这将保持可见,直到任务完成,然后消失。这很烦人,因为它会弹出并中断我正在做的任何事情:

我真的很想隐藏它,那么我该如何解决这个问题?
小智 58
选中“无论用户是否登录都运行”复选框,可执行文件将在后台运行。
Kar*_*ran 24
为什么 Windows 7 计划任务运行隐藏?应该解释为什么会发生这种情况。
此外,此 TechNet 对常规任务属性的描述指出:
任务的常规属性显示在“任务属性”或“创建任务”对话框的“常规”选项卡上。任务的常规属性包括任务名称、作者、描述、安全选项、为任务配置的操作系统以及控制任务是否隐藏的属性。
在任务文件夹中创建任务时,必须为任务命名。如果两个任务位于同一个任务文件夹中,则它们不能具有相同的名称。任务描述是可选的。
任务安全选项指定任务在其下运行的安全上下文。有关更多信息,请参阅任务安全上下文。
默认情况下,隐藏的任务不会显示在任务计划程序用户界面中。在“查看”菜单中选择“显示隐藏的任务”后,您可以查看隐藏的任务。单击“任务属性”或“创建任务”对话框的“常规”选项卡上的“隐藏”复选框时,将隐藏任务。
这是否意味着复选框仅从调度程序的 UI 中隐藏任务本身,而不是调度的实际程序?
Jos*_*ank 21
好的,经过更多研究,我在 StackOverflow 上找到了这个答案:
要将计划任务设置为在后台运行,请将运行该任务的用户更改为 SYSTEM,屏幕上将不会显示任何内容。
一条评论指出,这授予了任务的全部权限,这可能很烦人,但在这种情况下是可以接受的。
但是Hidden,如果它不这样做,它会做什么?为什么运行该程序的用户帐户与它是否可见有任何关系?
Phi*_*nin 14
终极解决方案
如果这些对你来说是破坏性的,最终的解决方案是创建如下所示的 JS 脚本文件,它将在隐藏窗口中运行你的命令,等待你的命令终止并返回其错误代码:
WScript.CreateObject("WScript.Shell")
.Run('powershell -File C:\\Path\\To\\MyScript.ps1', 0,true);
Run Code Online (Sandbox Code Playgroud)
将其另存为 js 文件 (myjob.js) 并将其添加到您的任务调度程序:
享受
| 归档时间: |
|
| 查看次数: |
69349 次 |
| 最近记录: |