Powershell 如何运行计划作业启动,使其具有交互性

Powershell 如何运行计划作业启动,使其具有交互性,powershell,Powershell,我想不出一种方法来让计划作业在启动时运行,它只是在后台运行,而不是交互,尽管我已将作业选项设置为交互: Register-ScheduledJob -Name runatstartup ` -ScriptBlock { start chrome } ` -Trigger (New-JobTrigger -AtStartup) Set-ScheduledTask -TaskName runatstartup ` -TaskPath Microsoft\Windows\Po

我想不出一种方法来让计划作业在启动时运行,它只是在后台运行,而不是交互,尽管我已将作业选项设置为交互:

Register-ScheduledJob -Name runatstartup `
    -ScriptBlock { start chrome } `
    -Trigger (New-JobTrigger -AtStartup)

Set-ScheduledTask -TaskName runatstartup `
    -TaskPath Microsoft\Windows\PowerShell\ScheduledJobs `
    -Principal (New-ScheduledTaskPrincipal -Logontype Interactive -Userid $env:USERNAME)
同样的命令工作正常,如果我将
-atstartup
替换为
-atlogon
-once
-daily
,程序将正常显示。
有人能帮我吗?

AtStartup
在登录屏幕显示之前,因此没有“桌面”可供交互。一旦您登录(作为启动过程的一部分手动或自动登录),新的桌面会话将启动,但您的程序已经启动,并且不会与新启动的桌面关联


切换到
AtLogin
,或者如果您使用的是除chrome以外的其他程序,您可以控制代码,请将代码分成两部分,一部分是启动时启动的服务,另一部分是登录时启动的UI组件。

用于启动chrome的代码和标题修复(或类似功能)您可能希望使用更传统、更简单的方法在启动文件夹中放置快捷方式。看,这很好,但我想编写一个使用job schedulers cmdlet的脚本,包括调度计算机的其他选项,例如每天在特定时间打开文件,在登录时运行程序。。。所以很难为它添加启动功能谢谢!!那么-atstartup参数用于什么呢?任务计划程序在启动时如何工作?ATSTART用于在系统启动时要运行的脚本/程序,但在第一个用户登录之前。任务调度器在启动时的工作方式与它在其他任何地方的工作方式相同,只是任务调度器启动的程序不会与任何桌面会话关联,因为没有要关联的桌面。