首页 文章

ScheduledJob scriptblock失败

提问于
浏览
0

我正在编写一个涉及scheduledjob cmdlet的脚本,该脚本可以打开用户在特定时间想要的文件 . 我能够安排一个作业来运行打开.bat和.mp3的脚本块,但是我无法使用scriptblock来打开其他扩展文件(.txt,.doc,.mp4,.ps1) . 就像这样:

这些命令运行正常:

register-scheduledjob -name abc -trigger $ abc -scriptblock {start“d:\ folder \ a.mp3”}

register-scheduledjob -name abc -trigger $ abc -scriptblock {start“d:\ folder \ a.bat”}

但是这些命令失败了:

register-scheduledjob -name abc -trigger $ abc -scriptblock {start“d:\ folder \ b.txt”}

register-scheduledjob -name abc -trigger $ abc -scriptblock {start“d:\ folder \ b.doc”}

register-scheduledjob -name abc -trigger $ abc -scriptblock

在scriptblock中,我尝试过使用invoke-item和invoke-command,但没有一个成功 . 然后我检查了任务管理器文件运行进程,结果发现那些我打不开的文件在后台运行而没有打开窗口

为什么会这样?你们有什么解决方案吗?请帮我 . 我花了很长时间试图解决这个问题!提前致谢

1 回答

  • 1

    您需要将"run whether user is logged in or not"的默认安全/运行行为更改为"run only when user is logged in" . 您可以使用ScheduledTask命令执行此操作 . 请注意 Register-ScheduledJobTask Schedulers\Microsoft\Windows\PowerShell\ScheduledJobs 文件夹中创建计划任务 . 您可以像这样进行更改:

    $principal = (Get-ScheduledTask abc \Microsoft\Windows\PowerShell\ScheduledJobs\).Principal
    $principal.LogonType = 'Interactive'
    Set-ScheduledTask abc \Microsoft\Windows\PowerShell\ScheduledJobs\ -Principal $principal
    

相关问题