如何运行预定的作业启动以使其具有交互性

时间:2015-12-05 16:27:51

标签: powershell

我无法找到一种方法来获得预定作业 在启动时运行,它只在后台运行,而不是交互式,虽然我已设置了作业选项互动:

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,程序会正常显示。 任何人都可以帮我这个吗?

1 个答案:

答案 0 :(得分:2)

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

切换到AtLogin,或者如果您正在使用某些其他程序而不是Chrome,那么您可以控制代码将代码拆分为两个并创建一个在启动时启动的服务,另一个启动的UI组件登录时。