我正在编写一个涉及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 回答
您需要将"run whether user is logged in or not"的默认安全/运行行为更改为"run only when user is logged in" . 您可以使用ScheduledTask命令执行此操作 . 请注意
Register-ScheduledJob
在Task Schedulers\Microsoft\Windows\PowerShell\ScheduledJobs
文件夹中创建计划任务 . 您可以像这样进行更改: