从任务计划程序运行时如何使用VBScript关闭Outlook
我已经在堆栈溢出站点搜索了与关闭相关的问题 见解有很多热门歌曲,但似乎没有一首能描述我的想法 试着去做 我试图解决的问题是如何备份Outlook数据库 自动和无人值守。Outlook需要关闭(如果是 在复制.pst文件之前运行 我在(www.howto-outlook.com/howto/closeoutlookscript.htm)上找到了一个VBScript 这似乎是我需要的。但我不能让它运行时,从启动 Windows任务计划程序 我用的是Windows8索尼笔记本电脑 我的VBScript应该在备份.pst文件之前关闭Outlook。 代码存储在CloseOutlookVerify.vbs中 以下是CloseOutlookVerify.vbs中的错误代码:从任务计划程序运行时如何使用VBScript关闭Outlook,vbscript,outlook,backup,Vbscript,Outlook,Backup,我已经在堆栈溢出站点搜索了与关闭相关的问题 见解有很多热门歌曲,但似乎没有一首能描述我的想法 试着去做 我试图解决的问题是如何备份Outlook数据库 自动和无人值守。Outlook需要关闭(如果是 在复制.pst文件之前运行 我在(www.howto-outlook.com/howto/closeoutlookscript.htm)上找到了一个VBScript 这似乎是我需要的。但我不能让它运行时,从启动 Windows任务计划程序 我用的是Windows8索尼笔记本电脑 我的VBScript
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Outlook.exe'")
For Each objProcess in colProcessList
Set objOutlook = CreateObject("Outlook.Application")
' The above line fails with ERR = 70 - Permission denied
objOutlook.Quit
Closed = 1
Next
- 如果双击.vbs文件,此脚本将正常工作 从Windows资源管理器
- 如果我从DOS命令提示符窗口运行它,它会正常工作
- 当通过Windows任务计划程序运行时,它会失败,错误为70
非常感谢您提供的专业知识。我认为这是因为尚未设置impersonationLevel。试试这个:
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strSysName & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Outlook.exe'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
您设置了什么用户帐户来运行任务?