Powershell WPF GUI不可看出是计划的任务



我正在编写一个向用户显示WPF GUI的PowerShell脚本。任务调度程序应该每天在特定时间运行此脚本。

手动启动时脚本正常工作,但是当我使用任务调度程序安排它时,GUI将不会显示。该任务将输入"运行"状态约半分钟,然后在没有错误的情况下退出。在此期间,它显示为任务管理器中的背景过程。

该任务作为SYSTEM用户运行,并以这些参数启动powershell.exe

-NonInteractive -NoProfile -Command "& { C:pathtoscript.ps1 }"

首先,我得到了此博客文章中描述的错误,并将提供的指令修复了。现在,我只看到系统用户已进行了身份验证,并且在任务中调用了PowerShell。

任何人都可以提供有关如何使WPF窗口可见的建议,或者可能出现此错误的原因?

我正在使用.NET版本3.5运行PowerShell V3。我已经在Windows Server 2016和2012上对此进行了测试。

powershell脚本:https://pastebin.com/xlw76arr

导出任务XML:https://pastebin.com/jrtkefsa

您可以显示用于显示WPF表单的代码吗?

  • 为什么使用系统帐户?
  • 为什么要使用powershell.exe的-noninteractive参数?

您应该使用记录的用户在执行过程中查看WPF表单。

powershell.exe不会加载wpf组件。您需要在脚本中强制加载组件:

Add-Type –AssemblyName PresentationFramework
Add-Type –AssemblyName PresentationCore
Add-Type –AssemblyName WindowsBase

最新更新