【问题标题】:Scheduled Job & Balloon tip计划的工作和气球提示
【发布时间】:2016-04-01 23:45:30
【问题描述】:

我正在寻找一种按计划运行作业并提醒用户注意正在运行的作业的方法。具体来说,我正在使用 PowerShell 来管理计算机实验室方案,并且在会话之间我想刷新环境、清理桌面、重置固定到任务栏的快捷方式以进行下一个会话等。但我想警告任何坐在这即将发生的机器。但是,我非常成功地将 Balloontips 用作常规脚本的脚本不能作为预定作业工作。它们运行,并且我通过创建将文本文件授权给用户桌面的计划作业,验证了它们以相关用户身份运行。但气球提示实际上并没有出现。让它发挥作用有什么秘密吗,或者这是一种预定工作无法做到的“交互”形式? 我还尝试了另一种方法,启动浏览器并显示即将进行清理的网页警告。那也没用。建议对可以作为计划作业执行的操作进行一些限制。 我宁愿走气球提示的非常“与操作系统集成”的路线,但对于我的生活来说,这似乎不是一个选择。那么,对于通过计划作业提供用户信息还有其他建议吗?

【问题讨论】:

  • 一般来说,计划的作业不会在他们有权访问用户桌面/GUI 的地方运行
  • 计划作业作为计划任务存储和触发,任务在称为会话 0 隔离的东西中运行 - 一种用户看不到的后台桌面。这就是为什么气球提示/通知图标等不显示的原因。

标签: powershell scheduled-tasks


【解决方案1】:

由于它在不存在 GUI 交互的会话 0 中运行,因此您必须求助于其他一些机制。

你说这发生在会话之间。您可以通过在 ScheduledJob 中执行的另一个“通知脚本”来显示您的气球。您可以在这里选择。例如:

  • 将条目添加到注册表运行键中,该键将在运行时自行删除。用户登录时显示弹出窗口(会话更改?)。条目执行您可以制作的参数的豪华脚本,即 (powershell -File notify.ps1 -ArgumentList "Operation bla bla..")
  • 添加不在会话 0 中运行的 ScheduledTask(常规任务)。你只需要这样做一次。每次您运行此作业时,都会通过 schtasks runScheduledTasks 模块从主脚本中向用户显示通知,具体取决于您的系统。

  • 添加一个 ScheduledTask,它会定期检查 EventLog 以获取主脚本的输入。该任务将在登录时开始并订阅事件日志通知。我不喜欢这样,因为脚本必须不停地运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-09
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多