任务计划的Powershell脚本不显示消息框

时间:2016-03-09 12:29:31

标签: powershell messagebox taskscheduler

我有一个Powershell脚本,计划在几台主机上运行一夜。 它由在任务计划程序中设置的CMD脚本(包装器)执行。

在某些情况下,我需要向用户显示一条消息,该消息将在早上到达并让他决定是继续执行脚本还是中止脚本。

我正在使用system.windows.froms.MessageBox :: Show(" My Message"," status"," 4")显示消息。

当我从Windows PowerShell ISE控制台执行CMD脚本时它非常有效,但是如果我从任务调度程序执行它,它会跳过弹出消息。

该问题有解决方案吗?

1 个答案:

答案 0 :(得分:2)

计划任务必须设置为"仅在用户登录时运行"因为它可见,否则它将在后台运行。

因此,如果主要脚本在没有用户登录时将在后台运行,我将使用两个脚本和计划任务:

  • 使用&#34运行后台脚本的一个计划任务;运行用户是否已登录"
  • 运行脚本的单独任务,检查后台任务是否仍在运行,如果"是"则显示对话框并终止bakground任务。此"用户对话框" -task需要设置为"仅在用户登录时运行"并在前面触发"登录"。