任务计划程序进程中的CloseMainWindow()不会终止

时间:2013-06-12 15:50:06

标签: powershell scheduled-tasks

我在powershell脚本中使用这个简单的行来关闭Outlook,然后再备份PST:

Get-Process Outlook | %{ $_.CloseMainWindow() } | Out-File -Append -FilePath $LogFile

它从命令行完美运行但是当我把它放在任务调度程序(Windows 7)中时,Outlook没有关闭,命令返回“False”。

该任务设置为从命令行以同一用户身份运行,并使用High Privileges进行尝试。

有人对此有所了解吗?

非常感谢和最诚挚的问候,

防暴

编辑: 好的澄清一下情况:

在任务计划程序中,命令是: batch.bat

包含batch.bat的内容:

...  
powershell script.ps1  
...

script.ps1的内容:

...  
Get-Process Outlook | %{ $_.CloseMainWindow() } | Out-File -Append -FilePath $LogFile  
...

2 个答案:

答案 0 :(得分:0)

您如何在任务管理器中运行脚本?您是否尝试将其放在.ps1文件中并以此方式运行?

答案 1 :(得分:0)

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.closemainwindow.aspx

如果成功发送了关闭消息,则

true ;如果关联的进程没有主窗口或主窗口被禁用(例如,如果正在显示模式对话框),则 false

我会启动Windows事件查看器并调试关闭事件未路由或被拒绝的原因。