start-process在计划任务里执行,为什么没有程序窗口?


PowerShell交流中心分类: 进程和服务start-process在计划任务里执行,为什么没有程序窗口?
0
migou asked 7 年 ago

start-process “C:\Program Files (x86)\abc\xxxxx.exe”
在powershell命令行执行,直接打开程序窗口。
但保存为ps1,在计划任务里执行,发现没有程序窗口,只有后台进程xxxxx.exe是为什么?
如何能实现在命令行一样的效果,程序窗口也打开呢?

1 Answers
1
Best Answer
Mooser Lee 管理员 answered 7 年 ago

1.你的exe本身必须有用户界面
2. 运行该Task的运行账户,必须和当前登录账户一致,比如A登录了,但是task是B运行的,肯定看不到。
3.建议在把Task的安全选项设置为只在用户登录时运行。
 

migou replied 7 年 ago

1.肯定是有用户界面的,命令行可以打开窗口
2.运行账户和登录是同一个
3.计划任务调整为只在登录时运行,确实解决了问题。
ps:我比较好奇,如果只打开了exe的进程,程序窗口没弹出,实际上应用程序原有功能会运行吗?

Mooser Lee 管理员 replied 7 年 ago

这个要看exe本身的逻辑了,比如exe尝试引用的界面在非交互模式账号下,或者访问了没有权限的文件,等等,基本上都会挂掉,这样允许基本上没有意义。

Mooser Lee 管理员 replied 7 年 ago

这个要看exe本身的逻辑了,比如exe尝试引用的界面在非交互模式账号下,或者访问了没有权限的文件,等等,基本上都会挂掉,这样允许基本上没有意义。