我在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
...
答案 0 :(得分:0)
您如何在任务管理器中运行脚本?您是否尝试将其放在.ps1文件中并以此方式运行?
答案 1 :(得分:0)
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.closemainwindow.aspx
如果成功发送了关闭消息,则true ;如果关联的进程没有主窗口或主窗口被禁用(例如,如果正在显示模式对话框),则 false 。
我会启动Windows事件查看器并调试关闭事件未路由或被拒绝的原因。